.session-stats-page {
  --ss-bg: rgba(255,255,255,0.06);
  --ss-line: rgba(255,255,255,0.14);
  --ss-text: rgba(255,255,255,0.92);
  --ss-sub: rgba(255,255,255,0.62);
  --ss-glass: rgba(255,255,255,0.08);
  --ss-shadow: 0 18px 50px rgba(0,0,0,0.28);
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 20px 80px;
  color: var(--ss-text);
}

.session-stats-hero {
  margin-bottom: 28px;
  padding: 24px 24px 18px;
  border: 1px solid var(--ss-line);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04));
  box-shadow: var(--ss-shadow);
  backdrop-filter: blur(14px);
}

.session-stats-kicker {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: 0.22em;
  color: var(--ss-sub);
}

.session-stats-title {
  margin: 0;
  font-size: 32px;
  line-height: 1.2;
  color: #f4f1ec;
}

.session-stats-lead {
  margin: 12px 0 0;
  color: var(--ss-sub);
}

.session-stats-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}

.session-stats-mini-card {
  padding: 18px 18px 16px;
  border-radius: 20px;
  border: 1px solid var(--ss-line);
  background: var(--ss-glass);
  box-shadow: var(--ss-shadow);
  backdrop-filter: blur(14px);
}

.session-stats-mini-label {
  font-size: 12px;
  letter-spacing: 0.16em;
  color: var(--ss-sub);
}

.session-stats-mini-value {
  margin-top: 8px;
  font-size: 30px;
  line-height: 1;
  color: #f7f3ee;
}

.session-stats-section {
  margin-top: 28px;
}

.session-stats-heading {
  margin: 0 0 12px;
  font-size: 18px;
  letter-spacing: 0.08em;
  color: #f2eee8;
}

.session-stats-chart-card {
  position: relative;
  min-height: 340px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid var(--ss-line);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  box-shadow: var(--ss-shadow);
  backdrop-filter: blur(14px);
}

.session-stats-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.session-stats-error {
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 16px;
  color: #fff;
  background: rgba(120, 0, 0, 0.18);
}

#chart-role {
  max-height: 320px;
}

@media (max-width: 900px) {
  .session-stats-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .session-stats-grid-2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .session-stats-page {
    padding: 24px 14px 64px;
  }

  .session-stats-title {
    font-size: 26px;
  }

  .session-stats-summary {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .session-stats-chart-card {
    min-height: 280px;
    padding: 14px;
    border-radius: 20px;
  }

  .session-stats-mini-value {
    font-size: 24px;
  }
}


.page-slug-session-stats .c-pageTitle,
.page-slug-session-stats .p-pageTitle,
.page-slug-session-stats .entry-title,
.page-slug-session-stats .post_content > h1,
.page-slug-session-stats .post_content > h2:first-child {
  display: none;
}

.session-stats-page {
  --ss-bg: rgba(255,255,255,0.72);
  --ss-line: rgba(120,90,110,0.18);
  --ss-text: #3f363b;
  --ss-sub: rgba(80,68,74,0.72);
  --ss-glass: rgba(255,255,255,0.58);
  --ss-shadow: 0 20px 48px rgba(80,50,65,0.10);
}

.session-stats-hero {
  background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(250,246,248,0.62));
  border: 1px solid rgba(140,105,122,0.16);
}

.session-stats-kicker {
  color: rgba(120,92,108,0.72);
}

.session-stats-title {
  color: #3a3136;
  text-shadow: none;
}

.session-stats-lead {
  color: rgba(76,63,69,0.72);
}

.session-stats-mini-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(248,243,245,0.64));
  border: 1px solid rgba(140,105,122,0.16);
  box-shadow: 0 16px 40px rgba(80,50,65,0.08);
}

.session-stats-mini-label {
  color: rgba(110,86,98,0.72);
}

.session-stats-mini-value {
  color: #473b41;
}

.session-stats-heading {
  color: #4a3d44;
  padding: 0 2px 10px;
  border-bottom: 1px solid rgba(164,130,146,0.26);
}

.session-stats-chart-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.74), rgba(248,244,246,0.66));
  border: 1px solid rgba(140,105,122,0.14);
  box-shadow: 0 18px 42px rgba(80,50,65,0.08);
}

.session-stats-error {
  color: #5a3030;
  background: rgba(255,240,240,0.82);
  border-color: rgba(180,90,90,0.18);
}


.page-slug-session-stats .post_content > h2 {
  display: none;

}

.page-slug-session-stats .post_content > h1 {
  display: none;
}

.page-slug-session-stats .c-pageTitle,
.page-slug-session-stats .p-pageTitle,
.page-slug-session-stats .entry-title,
.page-slug-session-stats .l-mainContent__inner > .c-pageTitle,
.page-slug-session-stats .post_content > h1:first-child,
.page-slug-session-stats .post_content > h2:first-child {
  display: none !important;
}

.page-slug-session-stats .session-stats-page h2.session-stats-heading {
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 2px 10px !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(164,130,146,0.26) !important;
  box-shadow: none !important;
  color: #4a3d44 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.5 !important;
}

.page-slug-session-stats .session-stats-page h2.session-stats-heading::before,
.page-slug-session-stats .session-stats-page h2.session-stats-heading::after {
  display: none !important;
  content: none !important;
}


/* =========================================
   Session Stats
   SWELL既存タイトル・見出し装飾をうちよそ寄せで消す
========================================= */

/* このページだけの土台 */
body.mame-session-stats-active,
body.mame-session-stats-active #content,
body.mame-session-stats-active .l-mainContent,
body.mame-session-stats-active .post_content,
body.mame-session-stats-active .p-entry__body {
  background: transparent !important;
}

/* SWELLのページタイトル系を消す */
body.mame-session-stats-active .c-pageTitle,
body.mame-session-stats-active .p-pageTitle,
body.mame-session-stats-active .c-postTitle,
body.mame-session-stats-active .p-entryTitle,
body.mame-session-stats-active .entry-title,
body.mame-session-stats-active .post_content > h1:first-child,
body.mame-session-stats-active .p-entry__body > h1:first-child {
  display: none !important;
}

/* SWELL見出し装飾を消す */
body.mame-session-stats-active .post_content h2,
body.mame-session-stats-active .post_content h3,
body.mame-session-stats-active .p-entry__body h2,
body.mame-session-stats-active .p-entry__body h3 {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.mame-session-stats-active .post_content h2::before,
body.mame-session-stats-active .post_content h2::after,
body.mame-session-stats-active .post_content h3::before,
body.mame-session-stats-active .post_content h3::after,
body.mame-session-stats-active .p-entry__body h2::before,
body.mame-session-stats-active .p-entry__body h2::after,
body.mame-session-stats-active .p-entry__body h3::before,
body.mame-session-stats-active .p-entry__body h3::after {
  content: none !important;
  display: none !important;
}

/* 卓チャートページ自前の見出し */
body.mame-session-stats-active .session-stats-page .session-stats-heading {
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 0 10px !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: rgba(38, 42, 54, 0.90) !important;
  font-size: 24px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
}

body.mame-session-stats-active .session-stats-page .session-stats-heading::before,
body.mame-session-stats-active .session-stats-page .session-stats-heading::after {
  content: none !important;
  display: none !important;
}

/* 見出し行をうちよそ寄せ */
body.mame-session-stats-active .session-stats-page .session-stats-section {
  margin-top: 34px !important;
}

body.mame-session-stats-active .session-stats-page .session-stats-section:first-of-type {
  margin-top: 0 !important;
}

/* 見出しの下線 */
body.mame-session-stats-active .session-stats-page .session-stats-heading {
  border-bottom: 1px solid rgba(164,170,184,0.26) !important;
}

/* スマホ */
@media (max-width: 768px) {
  body.mame-session-stats-active .session-stats-page .session-stats-heading {
    font-size: 20px !important;
    margin: 0 0 10px !important;
    padding: 0 0 8px !important;
  }

  body.mame-session-stats-active .session-stats-page .session-stats-section {
    margin-top: 26px !important;
  }
}

/* 説明文 */
.session-stats-desc {
  font-size: 13px;
  color: rgba(60, 64, 80, 0.6);
  margin: 4px 2px 14px;
  line-height: 1.6;
}

/* 期間表示 */
.session-stats-period {
  font-size: 12px;
  color: rgba(80, 84, 100, 0.6);
  margin-bottom: 16px;
  letter-spacing: 0.05em;
}

/* グラフカード */
.session-stats-chart-card {
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(6px);
  box-shadow:
    0 4px 20px rgba(120,130,150,0.08),
    inset 0 1px 0 rgba(255,255,255,0.6);
}

/* 見出し余白調整 */
.session-stats-heading {
  margin-bottom: 4px !important;
}

/* セクション間隔 */
.session-stats-section {
  margin-top: 36px;
}

/* チャートの高さ統一 */
.session-stats-chart-card canvas {
  height: 220px !important;
}

/* スマホ */
@media (max-width: 768px) {
  .session-stats-chart-card canvas {
    height: 180px !important;
  }
}

.session-stats-chart-card {
  width: 100%;
  overflow: hidden;
}

.session-stats-chart-card canvas {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 240px !important;
}

@media (max-width: 768px) {
  .session-stats-chart-card canvas {
    height: 200px !important;
  }
}

.session-stats-view-switch {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 14px;
}

.session-stats-view-switch button {
  appearance: none;
  border: 1px solid rgba(170, 145, 160, 0.35);
  background: rgba(255, 255, 255, 0.72);
  color: #5a4d57;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 12px;
  line-height: 1;
}

.session-stats-view-switch button.is-active {
  background: rgba(201, 169, 188, 0.95);
  color: #fff;
  border-color: rgba(201, 169, 188, 0.95);
}

.session-stats-month-controls {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 14px;
}

.session-stats-select-wrap {
  font-size: 12px;
  color: #6b626b;
}

.session-stats-select-wrap select {
  margin-left: 6px;
  border: 1px solid rgba(170, 145, 160, 0.35);
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(255,255,255,0.82);
  color: #4f4650;
}

@media (max-width: 767px) {
  .session-stats-month-controls {
    align-items: flex-start;
  }
}

/* =========================
   卓記録統計ページ
   くすみホワイトノアール調整
========================= */

body.mame-session-stats-active {
  background:
    linear-gradient(180deg, #f3f0f2 0%, #ece7eb 100%);
  color: #45414a;
}

.session-stats-page {
  --stats-bg: #f1edef;
  --stats-card: rgba(255, 250, 253, 0.58);
  --stats-card-border: rgba(132, 118, 136, 0.18);
  --stats-card-shadow: 0 12px 36px rgba(93, 77, 95, 0.08);
  --stats-text: #47424b;
  --stats-subtext: #7d7480;
  --stats-line: rgba(123, 112, 126, 0.16);
  --stats-accent: #c9aebe;
  --stats-accent-deep: #b893aa;
  --stats-accent-soft: rgba(201, 174, 190, 0.18);
  --stats-white-soft: rgba(255, 255, 255, 0.62);

  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 20px 72px;
  color: var(--stats-text);
}

.session-stats-hero {
  margin-bottom: 26px;
  padding: 28px 26px 22px;
  border: 1px solid var(--stats-card-border);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(247,242,245,0.62) 100%);
  box-shadow: var(--stats-card-shadow);
  backdrop-filter: blur(10px);
}

.session-stats-kicker {
  margin: 0 0 10px;
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--stats-subtext);
}

.session-stats-title {
  margin: 0;
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.15;
  letter-spacing: 0.04em;
  color: #3f3944;
}

.session-stats-lead {
  margin: 12px 0 0;
  color: var(--stats-subtext);
  line-height: 1.9;
}

.session-stats-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 34px;
}

.session-stats-mini-card {
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid var(--stats-card-border);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.68) 0%, rgba(244,238,241,0.56) 100%);
  box-shadow: var(--stats-card-shadow);
  backdrop-filter: blur(10px);
}

.session-stats-mini-label {
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--stats-subtext);
}

.session-stats-mini-value {
  margin-top: 8px;
  font-size: clamp(22px, 4vw, 34px);
  line-height: 1;
  font-weight: 600;
  color: #433d47;
}

.session-stats-period {
  grid-column: 1 / -1;
  margin-top: 4px;
  color: var(--stats-subtext);
  font-size: 13px;
  letter-spacing: 0.04em;
}

.session-stats-section {
  margin-top: 34px;
}



.session-stats-chart-card {
  position: relative;
  padding: 26px 22px 22px;
  border-radius: 30px;
  border: 1px solid var(--stats-card-border);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.68) 0%, rgba(244,238,241,0.54) 100%);
  box-shadow: var(--stats-card-shadow);
  backdrop-filter: blur(12px);
}

.session-stats-chart-card canvas {
  width: 100% !important;
  min-height: 320px;
}

.session-stats-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.session-stats-view-switch {
  display: inline-flex;
  gap: 10px;
  padding: 6px;
  margin: 0 0 18px;
  border-radius: 999px;
  background: rgba(255,255,255,0.42);
  border: 1px solid rgba(132, 118, 136, 0.16);
}

.session-stats-view-switch button {
  appearance: none;
  border: 0;
  padding: 12px 28px;
  border-radius: 999px;
  background: transparent;
  color: #6f6572;
  font-size: 13px;
  letter-spacing: 0.08em;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.session-stats-view-switch button.is-active {
  background: linear-gradient(180deg, #d8bfd0 0%, #c8a7bc 100%);
  color: #fffdfd;
  box-shadow: 0 6px 16px rgba(180, 144, 164, 0.26);
}

.session-stats-month-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-bottom: 14px;
}

.session-stats-select-wrap {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #675f69;
  font-size: 14px;
  letter-spacing: 0.04em;
}

.session-stats-select-wrap select {
  appearance: none;
  min-width: 108px;
  padding: 10px 36px 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(132, 118, 136, 0.2);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(244,238,241,0.92) 100%);
  color: #554e58;
  font-size: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
}

.session-stats-filter-row {
  margin-bottom: 14px;
  color: #675f69;
}

.session-stats-filter-row select {
  appearance: none;
  min-width: 108px;
  padding: 10px 36px 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(132, 118, 136, 0.2);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(244,238,241,0.92) 100%);
  color: #554e58;
}

@media (max-width: 820px) {
  .session-stats-summary,
  .session-stats-grid-2 {
    grid-template-columns: 1fr;
  }

  .session-stats-page {
    padding: 22px 14px 56px;
  }

  .session-stats-hero,
  .session-stats-chart-card {
    border-radius: 24px;
  }

  .session-stats-chart-card {
    padding: 18px 14px 18px;
  }

  .session-stats-chart-card canvas {
    min-height: 260px;
  }

  .session-stats-view-switch {
    width: 100%;
    overflow-x: auto;
  }

  .session-stats-view-switch button {
    padding: 11px 18px;
    white-space: nowrap;
  }
}


/* =========================
   卓記録統計ページ 微調整
   2x2復帰 / 高級感強化 / ボタン簡素化
========================= */

/* 全体の空気感を少しだけ深く */
body.mame-session-stats-active {
  background:
    radial-gradient(circle at top, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #f1edf0 0%, #e8e3e8 100%);
}

.session-stats-page {
  --stats-card: rgba(255, 252, 254, 0.50);
  --stats-card-border: rgba(113, 101, 116, 0.14);
  --stats-card-shadow:
    0 18px 44px rgba(79, 64, 84, 0.08),
    0 3px 10px rgba(255,255,255,0.35) inset;
  --stats-line: rgba(104, 95, 110, 0.14);
  --stats-accent: #c4a6b8;
  --stats-accent-deep: #af8da1;
}

/* ヒーローとカードのガラス感を少し上げる */
.session-stats-hero,
.session-stats-mini-card,
.session-stats-chart-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.74) 0%, rgba(245,240,244,0.50) 100%);
  box-shadow:
    0 18px 44px rgba(88, 71, 92, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* サマリーの数値を少しだけ高級感寄りに */
.session-stats-mini-value {
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* スマホでも2x2に戻す */
.session-stats-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* 期間表示は2列ぶち抜き */
.session-stats-period {
  grid-column: 1 / -1;
}

/* 見出しを少し締める */
.session-stats-heading {
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* 切替ボタンの外側をシンプルに */
.session-stats-view-switch {
  gap: 10px;
  padding: 0;
  margin: 0 0 18px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

/* ボタン自体をガラスっぽく */
.session-stats-view-switch button {
  border: 1px solid rgba(126, 113, 130, 0.16);
  padding: 12px 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(244,238,242,0.76) 100%);
  color: #6b6170;
  box-shadow:
    0 6px 18px rgba(92, 76, 97, 0.06),
    inset 0 1px 0 rgba(255,255,255,0.72);
}

/* アクティブだけ少し艶を出す */
.session-stats-view-switch button.is-active {
  border-color: rgba(184, 145, 165, 0.24);
  background:
    linear-gradient(180deg, #d9bfd0 0%, #c7a6ba 100%);
  color: #fffdfd;
  box-shadow:
    0 10px 22px rgba(175, 141, 161, 0.26),
    inset 0 1px 0 rgba(255,255,255,0.34);
}

/* 年選択も少し高級感寄り */
.session-stats-select-wrap select,
.session-stats-filter-row select {
  border-color: rgba(122, 110, 126, 0.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.82) 0%, rgba(244,239,243,0.88) 100%);
  box-shadow:
    0 6px 18px rgba(92, 76, 97, 0.05),
    inset 0 1px 0 rgba(255,255,255,0.76);
}

/* タブレット以上では4列 */
@media (min-width: 821px) {
  .session-stats-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* スマホでは2x2維持、極端に狭い時だけ1列 */
@media (max-width: 820px) {
  .session-stats-grid-2 {
    grid-template-columns: 1fr;
  }

  .session-stats-chart-card {
    padding: 18px 14px 18px;
  }

  .session-stats-view-switch {
    flex-wrap: wrap;
  }

  .session-stats-view-switch button {
    flex: 1 1 auto;
    min-width: 120px;
    text-align: center;
  }
}

@media (max-width: 520px) {
  .session-stats-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .session-stats-mini-card {
    padding: 16px 14px 14px;
    border-radius: 20px;
  }

  .session-stats-mini-value {
    font-size: 30px;
  }
}


/* 切替ボタン 横並びコンパクト化 */
.session-stats-view-switch {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.session-stats-view-switch button {
  flex: none;              /* ←これが重要（横いっぱい防止） */
  width: auto;
  min-width: 120px;
  padding: 10px 18px;
  font-size: 12px;
  border-radius: 999px;
}

/* 背景を強制的にノアール側に寄せる */
body.mame-session-stats-active,
body.mame-session-stats-active .l-mainContent,
body.mame-session-stats-active .l-content {
  background:
    radial-gradient(circle at top, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0) 40%),
    linear-gradient(180deg, #f0ebef 0%, #e6e0e6 100%) !important;
}


/* =========================
   卓記録統計ページ 微調整2
   年選択を控えめに / 透け感UP / 色差追加
========================= */

/* 年選択を目立たせすぎない */
.session-stats-select-wrap,
.session-stats-filter-row {
  color: rgba(84, 77, 87, 0.72);
  font-size: 13px;
  letter-spacing: 0.02em;
}

.session-stats-select-wrap select,
.session-stats-filter-row select {
  min-width: 96px;
  padding: 8px 28px 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(120, 108, 124, 0.10);
  background: rgba(255, 255, 255, 0.42);
  color: rgba(76, 70, 80, 0.88);
  font-size: 13px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.48);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* カードの透け感を少し強める */
.session-stats-hero,
.session-stats-mini-card,
.session-stats-chart-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.56) 0%, rgba(244,238,242,0.34) 100%);
  border-color: rgba(118, 106, 123, 0.12);
  box-shadow:
    0 16px 38px rgba(88, 71, 92, 0.06),
    inset 0 1px 0 rgba(255,255,255,0.62);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

/* サマリーカードごとにうっすら色差 */
.session-stats-summary .session-stats-mini-card:nth-child(1) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.58) 0%, rgba(246,240,243,0.34) 100%);
}

.session-stats-summary .session-stats-mini-card:nth-child(2) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.58) 0%, rgba(241,243,247,0.34) 100%);
}

.session-stats-summary .session-stats-mini-card:nth-child(3) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.58) 0%, rgba(244,240,247,0.34) 100%);
}

.session-stats-summary .session-stats-mini-card:nth-child(4) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.58) 0%, rgba(247,242,239,0.34) 100%);
}

/* 数字を少しだけ締める */
.session-stats-mini-value {
  color: #433d47;
  text-shadow: 0 1px 0 rgba(255,255,255,0.28);
}

/* セレクト周りの余白を控えめに */
.session-stats-month-controls {
  gap: 10px 16px;
  margin-bottom: 10px;
}

/* =========================
   卓記録統計ページ 微調整3
   棒色に合わせたガラス感強化
========================= */

.session-stats-hero,
.session-stats-mini-card,
.session-stats-chart-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.42) 0%, rgba(244,238,242,0.20) 100%);
  border: 1px solid rgba(116, 103, 120, 0.10);
  box-shadow:
    0 20px 48px rgba(88, 71, 92, 0.05),
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 0 -1px 0 rgba(255,255,255,0.18);
  backdrop-filter: blur(22px) saturate(118%);
  -webkit-backdrop-filter: blur(22px) saturate(118%);
}

/* サマリーカードの色差も少し上品に */
.session-stats-summary .session-stats-mini-card:nth-child(1) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.44) 0%, rgba(246,241,243,0.22) 100%);
}

.session-stats-summary .session-stats-mini-card:nth-child(2) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.44) 0%, rgba(240,243,247,0.22) 100%);
}

.session-stats-summary .session-stats-mini-card:nth-child(3) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.44) 0%, rgba(243,240,247,0.22) 100%);
}

.session-stats-summary .session-stats-mini-card:nth-child(4) {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.44) 0%, rgba(247,242,239,0.22) 100%);
}


/* 見出し装飾 */
.session-stats-heading {
  position: relative;
  padding-left: 18px;
  margin-bottom: 22px;
}



/* =========================
   見出し：うちよそ風 横グラデーションライン
========================= */

.session-stats-heading {
  position: relative;
  padding-left: 0;
  padding-bottom: 14px;
  margin-bottom: 22px;
  border-bottom: none;
}

/* メインの横ライン */
.session-stats-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(184,145,165,0.45) 0%,
    rgba(184,145,165,0.18) 40%,
    rgba(184,145,165,0.06) 70%,
    transparent 100%
  );
}

/* ほんのり上に細いハイライト */
.session-stats-heading::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 60%;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.55),
    transparent
  );
  opacity: 0.6;
}

.session-stats-heading {
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #3f3944;
}


/* =========================
   ガラス感 強化（光追加）
========================= */

.session-stats-hero,
.session-stats-mini-card,
.session-stats-chart-card {
  position: relative;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.35) 0%, rgba(244,238,242,0.18) 100%);
  
  backdrop-filter: blur(22px) saturate(120%);
  -webkit-backdrop-filter: blur(22px) saturate(120%);

  box-shadow:
    0 20px 48px rgba(88, 71, 92, 0.06),
    inset 0 1px 0 rgba(255,255,255,0.75),
    inset 0 -1px 0 rgba(255,255,255,0.18);
}

/* 上の光（←これが一番重要） */
.session-stats-hero::before,
.session-stats-mini-card::before,
.session-stats-chart-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;

  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,0.65) 0%,
      rgba(255,255,255,0.25) 30%,
      rgba(255,255,255,0.08) 55%,
      transparent 75%
    );

  opacity: 0.7;
  pointer-events: none;
}

/* うっすら上辺のライン */
.session-stats-hero::after,
.session-stats-mini-card::after,
.session-stats-chart-card::after {
  content: "";
  position: absolute;
  left: 12%;
  top: 0;
  width: 76%;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.8),
    transparent
  );

  opacity: 0.6;
}

.session-stats-chart-card {
  border: 1px solid rgba(255,255,255,0.35);
}

/* =========================
   ガラス感 強化（下側の影）
========================= */

.session-stats-hero,
.session-stats-mini-card,
.session-stats-chart-card {
  box-shadow:
    /* 外側：下に落ちる影（←これが主役） */
    0 28px 60px rgba(72, 55, 78, 0.10),
    0 10px 24px rgba(72, 55, 78, 0.08),

    /* 接地してる感じの影 */
    0 2px 6px rgba(72, 55, 78, 0.06),

    /* 内側：上の光 */
    inset 0 1px 0 rgba(255,255,255,0.75),

    /* 内側：下のうっすら影（←ガラスの厚み） */
    inset 0 -6px 14px rgba(120, 105, 125, 0.12);
}



/* SWELLの見出し線を消す */
.session-stats-page .session-stats-heading {
  border-bottom: none !important;
}


.session-stats-page .session-stats-heading {
  position: relative;
  padding-bottom: 14px;
}

/* 横グラデーションライン */
.session-stats-page .session-stats-heading::after {
  content: "" !important;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;

  background: linear-gradient(
    90deg,
    rgba(184,145,165,0.45) 0%,
    rgba(184,145,165,0.18) 40%,
    rgba(184,145,165,0.06) 70%,
    transparent 100%
  );
}

/* 上の光ライン */
.session-stats-page .session-stats-heading::before {
  content: "" !important;
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 60%;
  height: 1px;

  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.6),
    transparent
  );
}

h2.session-stats-heading {
  border-bottom: none !important;
}


/* =========================
   卓記録統計ページ
   見出し・余白の上書き修正版
========================= */

/* 上の余白を少し縮める */
body.mame-session-stats-active .l-mainContent__inner {
  padding-top: 10px !important;
}

body.mame-session-stats-active .p-breadcrumb {
  margin-bottom: 10px !important;
}

body.mame-session-stats-active .session-stats-page {
  padding-top: 10px !important;
}

/* ヒーロー上の空きも少し縮める */
body.mame-session-stats-active .session-stats-hero {
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

/* 見出しそのもの */
body.mame-session-stats-active .session-stats-heading {
  position: relative !important;
  margin: 0 0 16px !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  background: none !important;

  font-size: clamp(22px, 6.4vw, 40px) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  font-weight: 700 !important;
  color: #3f3944 !important;

  box-shadow: none !important;
}

/* 以前入れた縦装飾などを完全に消すための保険 */
body.mame-session-stats-active .session-stats-heading,
body.mame-session-stats-active h2.session-stats-heading {
  border-image: none !important;
  outline: none !important;
}

/* 横グラデーション線 */
body.mame-session-stats-active .session-stats-heading::after,
body.mame-session-stats-active h2.session-stats-heading::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  bottom: 0 !important;
  top: auto !important;
  width: 100% !important;
  height: 1px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  background: linear-gradient(
    90deg,
    rgba(184,145,165,0.42) 0%,
    rgba(184,145,165,0.18) 38%,
    rgba(184,145,165,0.06) 68%,
    transparent 100%
  ) !important;
}

/* 上の細い光 */
body.mame-session-stats-active .session-stats-heading::before,
body.mame-session-stats-active h2.session-stats-heading::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 2px !important;
  top: auto !important;
  width: 58% !important;
  height: 1px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.72) 0%,
    rgba(255,255,255,0.24) 55%,
    transparent 100%
  ) !important;
}

/* セクション間の余白も少し締める */
body.mame-session-stats-active .session-stats-section {
  margin-top: 26px !important;
}

/* スマホ時は少しだけ詰める */
@media (max-width: 820px) {
  body.mame-session-stats-active .session-stats-page {
    padding-top: 6px !important;
  }

  body.mame-session-stats-active .session-stats-heading {
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    font-size: clamp(20px, 8vw, 34px) !important;
  }

  body.mame-session-stats-active .session-stats-section {
    margin-top: 22px !important;
  }
}


/* =========================
   卓記録統計：ガラス感を強める上書き
   白く浮く旧デザイン感を抑える
========================= */

body.mame-session-stats-active .session-stats-page {
  --ss-text: rgba(58, 49, 54, 0.92);
  --ss-sub: rgba(92, 76, 85, 0.68);
  --ss-line: rgba(255, 255, 255, 0.34);
}

/* ページ全体の背景
   明るすぎる単色背景だと透け感が死ぬので、
   うっすら色ムラと光を足す */
body.mame-session-stats-active {
  background:
    radial-gradient(circle at 18% 16%, rgba(236, 209, 222, 0.36), transparent 32%),
    radial-gradient(circle at 82% 22%, rgba(215, 228, 255, 0.22), transparent 28%),
    radial-gradient(circle at 72% 78%, rgba(232, 208, 218, 0.20), transparent 30%),
    linear-gradient(180deg, #f4eef1 0%, #ebe4e8 48%, #e8e1e6 100%) !important;
  background-attachment: fixed;
}

/* 透け感を見せるための薄いノイズ兼反射 */
body.mame-session-stats-active::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.30), rgba(255,255,255,0.00) 28%, rgba(255,255,255,0.10) 52%, rgba(255,255,255,0.00) 72%),
    radial-gradient(circle at 20% 18%, rgba(255,255,255,0.28), transparent 22%),
    radial-gradient(circle at 78% 26%, rgba(255,255,255,0.16), transparent 18%);
  opacity: 0.9;
}

body.mame-session-stats-active .session-stats-page {
  position: relative;
  z-index: 1;
}

/* 共通ガラス面 */
body.mame-session-stats-active .session-stats-hero,
body.mame-session-stats-active .session-stats-mini-card,
body.mame-session-stats-active .session-stats-chart-card {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.30) !important;
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
  box-shadow:
    0 10px 30px rgba(123, 95, 110, 0.08),
    0 24px 64px rgba(123, 95, 110, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.56),
    inset 0 -1px 0 rgba(255,255,255,0.14) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.15) !important;
}

/* 上側の光の反射 */
body.mame-session-stats-active .session-stats-hero::before,
body.mame-session-stats-active .session-stats-mini-card::before,
body.mame-session-stats-active .session-stats-chart-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.46) 0%,
      rgba(255,255,255,0.22) 16%,
      rgba(255,255,255,0.08) 34%,
      rgba(255,255,255,0.00) 58%
    );
  opacity: 1;
}

/* 近くの色を拾っているように見せる薄い色反射 */
body.mame-session-stats-active .session-stats-hero::after,
body.mame-session-stats-active .session-stats-mini-card::after,
body.mame-session-stats-active .session-stats-chart-card::after {
  content: "";
  position: absolute;
  inset: -18%;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 20%, rgba(233, 195, 212, 0.16), transparent 24%),
    radial-gradient(circle at 82% 24%, rgba(181, 205, 255, 0.12), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,0.14), transparent 34%);
  filter: blur(20px);
  opacity: 0.95;
}

/* Heroは少しだけ強めに */
body.mame-session-stats-active .session-stats-hero {
  background: rgba(255,255,255,0.34) !important;
  border-radius: 28px !important;
}

/* サマリーカード */
body.mame-session-stats-active .session-stats-mini-card {
  border-radius: 24px !important;
  min-height: 148px;
}

body.mame-session-stats-active .session-stats-mini-label {
  color: rgba(103, 83, 94, 0.70) !important;
  letter-spacing: 0.10em;
}

body.mame-session-stats-active .session-stats-mini-value {
  color: rgba(71, 59, 65, 0.96) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.28);
}

/* グラフカード */
body.mame-session-stats-active .session-stats-chart-card {
  border-radius: 26px !important;
  background: rgba(255,255,255,0.28) !important;
}

/* グラフ切替ボタンもタグ寄りの質感に */
body.mame-session-stats-active .session-stats-view-switch button,
body.mame-session-stats-active .session-stats-select-wrap select {
  border: 1px solid rgba(255,255,255,0.34) !important;
  background: rgba(255,255,255,0.26) !important;
  color: rgba(86, 72, 79, 0.88) !important;
  backdrop-filter: blur(12px) saturate(1.12);
  -webkit-backdrop-filter: blur(12px) saturate(1.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.42),
    0 6px 18px rgba(120, 92, 108, 0.08);
}

body.mame-session-stats-active .session-stats-view-switch button.is-active {
  background:
    linear-gradient(180deg, rgba(221, 193, 206, 0.78), rgba(205, 172, 188, 0.68)) !important;
  border-color: rgba(255,255,255,0.42) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.36),
    0 10px 22px rgba(177, 137, 157, 0.22);
}

/* 見出し・説明の色を少し洗練 */
body.mame-session-stats-active .session-stats-title {
  color: rgba(63, 50, 58, 0.96) !important;
}

body.mame-session-stats-active .session-stats-lead,
body.mame-session-stats-active .session-stats-desc,
body.mame-session-stats-active .session-stats-period {
  color: rgba(92, 76, 85, 0.72) !important;
}

/* 見出しの線を固い罫線から、淡いガラス線へ */
body.mame-session-stats-active .session-stats-page .session-stats-heading {
  border-bottom: 1px solid rgba(255,255,255,0.34) !important;
}

/* スマホで少しだけ軽く */
@media (max-width: 768px) {
  body.mame-session-stats-active .session-stats-hero,
  body.mame-session-stats-active .session-stats-mini-card,
  body.mame-session-stats-active .session-stats-chart-card,
  body.mame-session-stats-active .session-stats-view-switch button,
  body.mame-session-stats-active .session-stats-select-wrap select {
    backdrop-filter: blur(14px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.1) !important;
  }

  body.mame-session-stats-active .session-stats-mini-card {
    min-height: 124px;
  }
}


/* =========================================
   卓記録統計：ガラス化（完全上書き）
========================================= */

/* ===== 背景：透明感を出すための土台 ===== */
body.mame-session-stats-active {
  background:
    radial-gradient(circle at 20% 18%, rgba(236,209,222,0.35), transparent 30%),
    radial-gradient(circle at 80% 22%, rgba(210,220,255,0.25), transparent 28%),
    radial-gradient(circle at 70% 80%, rgba(232,208,218,0.22), transparent 30%),
    linear-gradient(180deg, #f3eef1 0%, #ebe5e9 50%, #e7e0e5 100%) !important;
  background-attachment: fixed;
}

/* 微細な反射レイヤー */
body.mame-session-stats-active::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.28), transparent 30%, rgba(255,255,255,0.12) 60%, transparent 80%),
    radial-gradient(circle at 30% 30%, rgba(255,255,255,0.22), transparent 25%);
}

/* ===== 共通ガラス ===== */
body.mame-session-stats-active .session-stats-hero,
body.mame-session-stats-active .session-stats-mini-card,
body.mame-session-stats-active .session-stats-chart-card {

  background: rgba(255,255,255,0.28) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;

  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);

  box-shadow:
    0 8px 28px rgba(120, 90, 110, 0.10),
    0 24px 60px rgba(120, 90, 110, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.55),
    inset 0 -1px 0 rgba(255,255,255,0.15);

  position: relative;
  overflow: hidden;
}

/* 上の光（ガラスのハイライト） */
body.mame-session-stats-active .session-stats-hero::before,
body.mame-session-stats-active .session-stats-mini-card::before,
body.mame-session-stats-active .session-stats-chart-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.45) 0%,
      rgba(255,255,255,0.18) 18%,
      rgba(255,255,255,0.06) 35%,
      transparent 60%
    );
}

/* 周囲色の反射 */
body.mame-session-stats-active .session-stats-hero::after,
body.mame-session-stats-active .session-stats-mini-card::after,
body.mame-session-stats-active .session-stats-chart-card::after {
  content: "";
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(circle at 20% 20%, rgba(233,195,212,0.18), transparent 25%),
    radial-gradient(circle at 80% 25%, rgba(180,205,255,0.15), transparent 25%);
  filter: blur(20px);
  opacity: 0.9;
}

/* ===== カードの角 ===== */
body.mame-session-stats-active .session-stats-mini-card {
  border-radius: 22px !important;
}

body.mame-session-stats-active .session-stats-chart-card {
  border-radius: 24px !important;
}

/* ===== 数値 ===== */
body.mame-session-stats-active .session-stats-mini-value {
  color: rgba(70, 58, 65, 0.96) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.25);
}

/* ===== ラベル ===== */
body.mame-session-stats-active .session-stats-mini-label {
  color: rgba(100, 82, 92, 0.70) !important;
}

/* ===== 見出し ===== */
body.mame-session-stats-active .session-stats-title {
  color: rgba(65, 52, 60, 0.95) !important;
}

body.mame-session-stats-active .session-stats-lead,
body.mame-session-stats-active .session-stats-desc {
  color: rgba(95, 78, 88, 0.70) !important;
}

/* ===== 区切り線を柔らかく ===== */
body.mame-session-stats-active .session-stats-heading {
  border-bottom: 1px solid rgba(255,255,255,0.35) !important;
}

/* ===== ボタン（タグ寄せ） ===== */
body.mame-session-stats-active .session-stats-view-switch button,
body.mame-session-stats-active .session-stats-select-wrap select {

  background: rgba(255,255,255,0.26) !important;
  border: 1px solid rgba(255,255,255,0.34) !important;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.45),
    0 6px 18px rgba(120,90,110,0.10);
}

/* 選択中 */
body.mame-session-stats-active .session-stats-view-switch button.is-active {
  background:
    linear-gradient(180deg, rgba(221,193,206,0.75), rgba(205,172,188,0.65)) !important;
  color: #fff !important;
}

/* ===== スマホ軽量 ===== */
@media (max-width: 768px) {
  body.mame-session-stats-active .session-stats-hero,
  body.mame-session-stats-active .session-stats-mini-card,
  body.mame-session-stats-active .session-stats-chart-card {
    backdrop-filter: blur(14px) saturate(1.1);
  }
}

/* =========================================
   卓記録統計
   白パネルの上に広く背景画像を敷く
   画像とグラデを分けて確実に出す
   ========================================= */

/* 画像本体：画面全体を覆う */
body.mame-session-stats-active .post_content::before {
  content: "";
  position: fixed; /* ←ここが重要 */
  z-index: 0;
  pointer-events: none;

  /* 画面全体＋はみ出し */
  top: 0px;
  left: -20vw;
  right: -20vw;
  bottom: -30vh;

  background-image: url("http://mame.wew.jp/wp/wp-content/uploads/2026/05/IMG_0837-2.jpeg") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;

  opacity: 0.75;
}

/* 色の膜 */
body.mame-session-stats-active .post_content::after {
  content: "";
  position: fixed; /* ←これも固定 */
  z-index: 0;
  pointer-events: none;

  top: 0px;
  left: -20vw;
  right: -20vw;
  bottom: -30vh;

  background:
    linear-gradient(rgba(244,239,243,0.25), rgba(236,231,236,0.28)),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.18), transparent 25%),
    radial-gradient(circle at 80% 25%, rgba(210,225,255,0.14), transparent 25%);
}

/* コンテンツは前へ */
body.mame-session-stats-active .post_content > * {
  position: relative;
  z-index: 1;
}


/* 卓記録統計：フッターのピンク背景を消して、下まで画像を見せる */
body.mame-session-stats-active #footer,
body.mame-session-stats-active .l-footer,
body.mame-session-stats-active .l-footer__inner,
body.mame-session-stats-active .c-copyright {
  background: transparent !important;
  box-shadow: none !important;
  border-top: none !important;
}

/* フッター内の中身は前に出す */
body.mame-session-stats-active #footer *,
body.mame-session-stats-active .l-footer * {
  position: relative;
  z-index: 1;
}