* {
  box-sizing: border-box;
}

:root {
  --gold: #d9b870;
  --gold-2: #f1d98b;
  --deep: #11100b;
  --deep-2: #1d1710;
  --ink: #2a1d0c;
  --parchment: #ead9ad;
  --parchment-2: #d3b879;
  --green: #16351f;
  --blue-glow: #75e8ff;
  --text: #fff7df;
  --muted: #d7c6a1;
  --radius: 22px;
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html,
body,
#root {
  width: 100%;
  min-height: 100%;
  margin: 0;
}

body {
  min-width: 320px;
  overflow-x: hidden;
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(4, 5, 5, 0.18), rgba(4, 5, 5, 0.72)),
    url("../../app-assets/launch/record-rpg-style-v28.png"),
    linear-gradient(180deg, #0c1413 0%, #070908 100%);
  background-size: cover, cover, auto;
  background-position: center top, center top, center;
  background-attachment: fixed, fixed, scroll;
  font-synthesis: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 213, 122, 0.08), transparent 36%),
    radial-gradient(circle at 50% 60%, rgba(0, 0, 0, 0.10), rgba(0,0,0,0.42) 72%, rgba(0,0,0,0.68) 100%),
    linear-gradient(90deg, rgba(0,0,0,0.22), transparent 22%, transparent 78%, rgba(0,0,0,0.22));
  backdrop-filter: blur(0.7px);
}

button,
a {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

img {
  max-width: 100%;
}

.app-shell,
.record-rpg-shell,
.fantasy-board-shell {
  width: 430px;
  max-width: calc(100vw - 20px);
  margin: 0 auto;
  padding: 14px 0 28px;
  overflow-x: hidden;
}

.rpg-record-board {
  display: grid;
  gap: 14px;
  width: 100%;
  overflow: hidden;
}

/* common board texture */
.rpg-top-board,
.rpg-status-board,
.rpg-preview-card,
.rpg-english-board,
.rpg-action-board,
.rpg-gacha-board,
.rpg-dex-buttons,
.rpg-bottom-link-area,
.rpg-board-compact,
.participation-strip,
.quest-modal,
.reward-modal,
.dex-modal {
  position: relative;
  border-radius: 24px;
  border: 2px solid rgba(217, 184, 112, 0.62);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(255, 255, 255, 0.07);
  overflow: hidden;
}

.rpg-top-board::before,
.rpg-status-board::before,
.rpg-preview-card::before,
.rpg-english-board::before,
.rpg-action-board::before,
.rpg-gacha-board::before,
.rpg-board-compact::before,
.quest-modal::before,
.reward-modal::before,
.dex-modal::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 17px;
  border: 1px solid rgba(126, 82, 25, 0.28);
  pointer-events: none;
  z-index: 1;
}

.rpg-top-board > *,
.rpg-status-board > *,
.rpg-preview-card > *,
.rpg-english-board > *,
.rpg-action-board > *,
.rpg-gacha-board > *,
.rpg-board-compact > *,
.quest-modal > *,
.reward-modal > *,
.dex-modal > * {
  position: relative;
  z-index: 2;
}

/* top board */
.rpg-top-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 116px;
  align-items: start;
  gap: 16px;
  padding: 22px 30px 22px 34px;
  min-height: 132px;
  isolation: isolate;
  border: 2px solid transparent;
  background:
    radial-gradient(circle at 20% 0%, rgba(217, 184, 112, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(37, 27, 15, 0.96), rgba(10, 9, 7, 0.98));
}

.rpg-top-board::before {
  display: none;
}

.rpg-header-frame-overlay {
  position: absolute;
  inset: -1px;
  z-index: 1;
  pointer-events: none;
  border-radius: 24px;
  background: url("../../app-assets/ui/v36/top-header-border-overlay.png") center / 100% 100% no-repeat;
}

.rpg-top-board::after {
  content: none;
  display: none;
}

.rpg-top-title .eyebrow,
.eyebrow,
.section-kicker {
  margin: 0 0 8px;
  color: var(--gold-2);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rpg-top-title {
  min-width: 0;
  padding-top: 2px;
}

.rpg-top-title h1 {
  margin: 0;
  color: #fff5d8;
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: -0.06em;
  text-shadow: 0 3px 12px rgba(0,0,0,0.55);
}

.rpg-top-title span {
  display: block;
  margin-top: 8px;
  color: #f1ead6;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.42;
  max-width: 100%;
}

.rpg-top-controls {
  display: grid;
  width: 100%;
  justify-items: stretch;
  align-content: start;
  gap: 10px;
  padding-top: 2px;
}

.language-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  width: 100%;
  padding: 4px 6px;
  border-radius: 999px;
  background: rgba(21, 18, 12, 0.78);
  border: 1px solid rgba(217, 184, 112, 0.38);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}

.language-switch button {
  border: 0;
  width: 29px;
  height: 29px;
  border-radius: 999px;
  color: #dacba5;
  background: transparent;
  font-size: 11px;
  font-weight: 950;
}

.language-switch button.active {
  color: #112117;
  background: linear-gradient(180deg, #b6ffe3, #7fd5c7);
  box-shadow: 0 0 12px rgba(123, 233, 214, 0.34);
}

.rpg-small-badges {
  display: grid;
  gap: 8px;
}

.rpg-small-badges span {
  width: 100%;
  min-width: 0;
  padding: 9px 8px;
  border-radius: 999px;
  text-align: center;
  color: #31230f;
  background:
    linear-gradient(180deg, rgba(252, 239, 199, 0.98), rgba(208, 179, 110, 0.98));
  border: 1px solid rgba(101, 73, 26, 0.55);
  font-size: 12px;
  font-weight: 950;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.28);
}

/* parchment boards */
.rpg-status-board,
.rpg-english-board,
.rpg-action-board,
.rpg-gacha-board,
.rpg-board-compact {
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,0.25), transparent 32%),
    linear-gradient(180deg, rgba(239, 222, 179, 0.98), rgba(209, 183, 124, 0.98));
  border-color: rgba(102, 70, 22, 0.68);
}

.rpg-section-title {
  text-align: center;
  margin-bottom: 14px;
}

.rpg-section-title span {
  color: #765b23;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rpg-section-title h2,
.rpg-action-board h2,
.rpg-gacha-board h2,
.rpg-board-compact h2,
.dex-modal h2,
.reward-modal h2,
.quest-modal h2 {
  margin: 3px 0 0;
  color: #2b1e0f;
  font-size: 23px;
  line-height: 1.18;
  letter-spacing: -0.05em;
  font-weight: 950;
}

.rpg-status-board {
  padding: 20px 16px 16px;
}

.status-pair-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.parchment-tile {
  min-height: 84px;
  padding: 13px 12px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,0.32), transparent 44%),
    rgba(245, 232, 193, 0.72);
  border: 1px solid rgba(101, 73, 26, 0.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.26);
}

.parchment-tile span {
  display: block;
  color: #6d5120;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.25;
}

.parchment-tile strong {
  display: block;
  margin-top: 7px;
  color: #24170a;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.22;
}

.parchment-tile em {
  display: block;
  margin-top: 5px;
  color: #604930;
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3;
}

.rpg-exp-meter {
  margin-top: 14px;
  text-align: center;
}

.rpg-exp-meter > span {
  color: #34230f;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.35;
}

.exp-bar {
  height: 11px;
  margin-top: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(74, 54, 20, 0.2);
  border: 1px solid rgba(74, 54, 20, 0.28);
}

.exp-bar div {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #5fdca8, #cfca4d, #f0c44c);
  box-shadow: 0 0 18px rgba(101, 214, 152, 0.28);
}

.rpg-exp-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.exp-rune {
  display: grid;
  place-items: center;
  min-height: 66px;
  padding: 9px 5px;
  border-radius: 14px;
  background: rgba(246, 234, 201, 0.74);
  border: 1px solid rgba(101, 73, 26, 0.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.32);
}

.exp-rune strong {
  color: #22170a;
  font-size: 21px;
  font-weight: 950;
  line-height: 1;
}

.exp-rune span {
  margin-top: 7px;
  color: #4f3a1c;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
}

/* previews */
.rpg-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rpg-preview-card {
  min-width: 0;
  padding: 12px;
  color: var(--text);
  background:
    radial-gradient(circle at 50% 8%, rgba(120, 238, 160, 0.08), transparent 40%),
    linear-gradient(180deg, rgba(24, 50, 29, 0.94), rgba(4, 10, 8, 0.98));
  border-color: rgba(217, 184, 112, 0.58);
}

.rpg-card-title {
  margin: 2px 0 10px;
  color: #f6db91;
  font-size: 14px;
  font-weight: 950;
  text-align: center;
  letter-spacing: -0.02em;
}

.rpg-card-frame,
.rpg-item-frame {
  position: relative;
  min-height: 205px;
  border-radius: 18px;
  background: rgba(2, 8, 12, 0.86);
  border: 1px solid rgba(217, 184, 112, 0.34);
  overflow: hidden;
}

.rpg-card-frame .growth-card.simplified-card {
  min-height: 205px;
  height: 205px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}

.growth-card.simplified-card {
  position: relative;
  min-height: 205px;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(217,184,112,.45);
  background: #061014;
}

.growth-card-art {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.growth-card-art img,
.growth-card-fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.growth-card-fallback {
  display: grid;
  place-items: center;
  padding: 16px;
  color: #f7edd0;
  text-align: center;
  background: linear-gradient(180deg, rgba(18,33,31,.95), rgba(6,10,12,.98));
}

.growth-card-shine {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.12), transparent 32%, rgba(0,0,0,.28));
}

.growth-card-top,
.growth-card-overlay,
.growth-card-word,
.growth-card-bottom-line {
  display: none !important;
}

.rpg-item-frame {
  display: grid;
  place-items: center;
  padding: 8px;
}

.rpg-item-frame .item-image-wrap,
.item-stage .item-image-wrap {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.rpg-item-frame .item-image-wrap img {
  max-width: 100%;
  max-height: 190px;
  object-fit: contain;
  filter: drop-shadow(0 16px 20px rgba(0,0,0,.46));
}

.item-image-wrap img {
  display: block;
  width: 100%;
  object-fit: contain;
}

.image-fallback {
  display: none;
  place-items: center;
  min-height: 120px;
  color: #f0e4c8;
  text-align: center;
}

.item-rarity-line {
  display: grid;
  place-items: center;
  margin-top: 10px;
}

.rarity-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 16px;
  border-radius: 999px;
  color: #f8f1dd;
  background: rgba(15, 24, 33, 0.82);
  border: 1px solid rgba(217, 184, 112, 0.44);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
}

.rarity-pill.common { background: rgba(76, 82, 86, 0.72); }
.rarity-pill.rare { background: rgba(39, 82, 132, 0.76); }
.rarity-pill.rareplus { background: rgba(18, 111, 101, 0.76); }
.rarity-pill.epic { background: rgba(96, 47, 132, 0.76); }
.rarity-pill.legend { background: rgba(156, 106, 26, 0.82); }

.tap-hint {
  display: grid;
  place-items: center;
  min-height: 38px;
  margin-top: 10px;
  border-radius: 999px;
  color: #3a270f;
  background:
    linear-gradient(180deg, rgba(248, 235, 192, 0.98), rgba(208, 178, 109, 0.98));
  border: 1px solid rgba(90, 63, 23, 0.5);
  font-size: 12px;
  font-weight: 900;
}

/* daily english */
.rpg-english-board {
  padding: 17px 16px 16px;
}

.english-board-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.english-board-title span {
  color: #422b12;
  font-size: 16px;
  font-weight: 950;
}

.speech-button {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  color: #30200d;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.62), transparent 32%),
    linear-gradient(180deg, #f6e6b3, #d4b568);
  border: 1px solid rgba(91, 63, 22, 0.5);
  box-shadow: 0 4px 12px rgba(0,0,0,.16);
}

.rpg-english-board > strong {
  display: block;
  color: #1d1409;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 900;
}

.rpg-english-board > em {
  display: block;
  margin-top: 8px;
  color: #4b351c;
  font-size: 13px;
  font-style: normal;
  line-height: 1.4;
  font-weight: 760;
}

.sentence-guide-block {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 13px 14px;
  border-radius: 16px;
  background: rgba(85, 61, 26, 0.12);
  border: 1px solid rgba(85, 61, 26, 0.2);
}

.sentence-guide-block small {
  color: #281909;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 760;
}

.sentence-guide-block b {
  color: #624116;
  font-weight: 950;
}

/* action / gacha / dex */
.rpg-action-board,
.rpg-gacha-board,
.rpg-board-compact {
  padding: 15px 14px;
}

.rpg-action-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.rpg-action-board p,
.rpg-gacha-board p,
.rpg-board-compact p {
  margin: 4px 0 0;
  color: #4f3718;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 760;
}

.rpg-action-board h2,
.rpg-gacha-board h2,
.rpg-board-compact h2 {
  color: #24190c;
}

.primary-button,
.secondary-button,
.ghost-button,
.rpg-dex-buttons button,
.rpg-bottom-link-area a,
.rpg-bottom-link-area button {
  border: 1px solid rgba(95, 64, 21, 0.6);
  border-radius: 999px;
  min-height: 42px;
  padding: 11px 16px;
  color: #2a1c0a;
  background:
    linear-gradient(180deg, #f5e2a7, #d3aa50);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    0 7px 14px rgba(0,0,0,.18);
  font-weight: 950;
  text-decoration: none;
}

.secondary-button {
  background: linear-gradient(180deg, #dfe8ca, #a9bd72);
}

.ghost-button {
  width: 100%;
  color: #ead8a6;
  background: rgba(25, 18, 11, 0.86);
  border-color: rgba(217,184,112,.48);
}

.rpg-main-action {
  min-width: 118px;
}

.section-title-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.ticket-badge,
.section-title-row > span {
  display: grid;
  place-items: center;
  min-width: 54px;
  min-height: 46px;
  padding: 6px 9px;
  border-radius: 14px;
  color: #2a1c0a;
  background: rgba(246, 234, 201, 0.78);
  border: 1px solid rgba(101, 73, 26, 0.3);
}

.ticket-badge strong {
  font-size: 18px;
}

.ticket-badge span {
  font-size: 9px;
  font-weight: 800;
}

.probability-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  margin-top: 13px;
}

.probability-chip {
  display: grid;
  gap: 2px;
  padding: 8px 3px;
  border-radius: 12px;
  text-align: center;
  color: #301e0c;
  background: rgba(246, 234, 201, 0.64);
  border: 1px solid rgba(101, 73, 26, 0.2);
}

.probability-chip strong {
  font-size: 8px;
}

.probability-chip span {
  font-size: 10px;
  font-weight: 950;
}

.draw-actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-top: 12px;
}

.recent-draws {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.recent-chip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 14px;
  color: #2c1e0d;
  background: rgba(246,234,201,.64);
}

.recent-chip span {
  font-size: 9px;
  font-weight: 950;
}

.recent-chip strong {
  font-size: 11px;
  text-align: right;
}

.rpg-dex-buttons,
.rpg-bottom-link-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.rpg-dex-buttons button,
.rpg-bottom-link-area a,
.rpg-bottom-link-area button {
  display: grid;
  place-items: center;
  text-align: center;
}

.rpg-dex-buttons button span,
.rpg-bottom-link-area a span,
.rpg-bottom-link-area button span {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  opacity: .8;
}

.cafe-main-link strong {
  display: block;
  font-size: 14px;
}

/* compact board and participation */
.rpg-board-compact {
  padding: 14px;
}

.board-grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 4px;
  margin-top: 12px;
}

.board-cell {
  display: grid;
  place-items: center;
  height: 24px;
  border-radius: 7px;
  color: #3a2a11;
  background: rgba(246,234,201,.68);
  border: 1px solid rgba(101, 73, 26, 0.2);
  font-size: 9px;
  font-weight: 900;
}

.board-cell.passed {
  background: rgba(129, 184, 98, 0.55);
}

.board-cell.active {
  color: #241708;
  background: linear-gradient(180deg, #f0d47d, #c59b3e);
  box-shadow: 0 0 12px rgba(217,184,112,.35);
}

.participation-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 16px;
  color: #2c1d0d;
  background:
    linear-gradient(180deg, rgba(238, 218, 170, 0.95), rgba(190, 153, 82, 0.95));
  border: 1px solid rgba(101, 73, 26, 0.4);
}

.participation-strip span,
.participation-strip em {
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  opacity: .82;
  white-space: nowrap;
}

.participation-strip strong {
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

/* alerts */
.alert-card,
.reward-card {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(217,184,112,.34);
  background: rgba(22, 16, 9, 0.86);
  color: #f4dfad;
  font-size: 12px;
  font-weight: 800;
}

/* modals */
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0,0,0,.74);
  backdrop-filter: blur(8px);
}

.quest-modal,
.reward-modal,
.dex-modal {
  width: min(100%, 430px);
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 18px;
  color: #f9edce;
  background:
    radial-gradient(circle at 50% 0%, rgba(217,184,112,.12), transparent 36%),
    linear-gradient(180deg, rgba(33,26,16,.98), rgba(8,8,6,.99));
}

.quest-modal h2,
.reward-modal h2,
.dex-modal h2 {
  color: #fff1c8;
}

.quest-options {
  display: grid;
  gap: 9px;
  margin: 15px 0;
}

.quest-options button {
  width: 100%;
  min-height: 44px;
  padding: 12px 14px;
  border-radius: 15px;
  border: 1px solid rgba(217,184,112,.34);
  color: #fff1d0;
  background: rgba(255,255,255,.06);
  font-weight: 850;
  text-align: left;
}

.reward-summary {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  color: #efdca9;
  text-align: center;
}

.reward-summary span {
  font-size: 12px;
  line-height: 1.4;
}

.draw-result-modal {
  width: min(100%, 680px);
}

.draw-popup-grid {
  display: grid;
  gap: 12px;
  margin: 15px 0;
}

.draw-popup-grid.single {
  grid-template-columns: 1fr;
}

.draw-popup-grid.multi {
  grid-template-columns: repeat(2, 1fr);
}

.draw-popup-card {
  padding: 12px;
  border-radius: 18px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(217,184,112,.28);
  text-align: center;
}

.draw-popup-card strong {
  display: block;
  margin-top: 10px;
  color: #fff4cf;
}

.item-stage.popup-item-stage,
.preview-item-wrap .item-stage {
  min-height: 250px;
  border-radius: 18px;
  padding: 12px;
  background: rgba(3, 9, 14, .86);
  border: 1px solid rgba(217,184,112,.28);
}

.item-stage.popup-item-stage img,
.preview-item-wrap .item-stage img {
  max-height: 230px;
}

.preview-card-wrap .growth-card.simplified-card {
  min-height: 420px;
  width: min(100%, 300px);
  margin: 0 auto;
}

.preview-item-copy {
  display: grid;
  gap: 8px;
  justify-items: center;
  margin: 12px 0;
  text-align: center;
}

.preview-item-copy strong {
  color: #fff3c6;
  font-size: 22px;
}

.preview-item-copy p {
  margin: 0;
  color: #dac99f;
  font-size: 13px;
  line-height: 1.45;
}

/* Dex */
.dex-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.dex-header button {
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  color: #2b1e0e;
  background: linear-gradient(180deg, #f4dfa0, #ca9c3b);
  font-weight: 900;
}

.group-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 6px;
  margin-bottom: 12px;
}

.group-tabs button {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid rgba(217,184,112,.28);
  border-radius: 999px;
  color: #f6e6bc;
  background: rgba(255,255,255,.07);
  font-size: 11px;
  font-weight: 850;
}

.group-tabs button.active {
  color: #2b1e0e;
  background: linear-gradient(180deg, #f5dea0, #cda64e);
}

.item-grid,
.card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
}

.item-card,
.card-dex-tile {
  padding: 9px;
  border-radius: 16px;
  background: rgba(0,0,0,.2);
  border: 1px solid rgba(217,184,112,.22);
}

.item-card-top {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 7px;
}

.item-card-top span,
.item-card-top strong {
  padding: 4px 7px;
  border-radius: 999px;
  color: #f4e6c1;
  background: rgba(255,255,255,.07);
  font-size: 8px;
  font-weight: 900;
}

.item-card .item-image-wrap img {
  max-height: 116px;
}

.item-card-body {
  margin-top: 7px;
  text-align: center;
}

.item-card-body h3 {
  margin: 0;
  color: #fff1c8;
  font-size: 12px;
}

.item-card-body p,
.item-short-copy {
  display: block;
  margin-top: 5px;
  color: #cbbd9a;
  font-size: 9px;
  line-height: 1.35;
}

/* language gate */
.language-gate-shell {
  width: 100%;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 18px;
  position: relative;
  overflow: hidden;
}

.language-gate-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 9, 12, 0.34), rgba(2, 9, 12, 0.84)),
    radial-gradient(circle at center, rgba(103, 232, 249, 0.14), transparent 56%),
    url('../../app-assets/launch/soccer-growth-adventure-gate-v20.png');
  background-size: cover;
  background-position: center center;
  filter: blur(4px) saturate(0.95);
  transform: scale(1.05);
}

.language-gate-card {
  position: relative;
  width: min(100%, 430px);
  border-radius: 34px;
  overflow: hidden;
  border: 1px solid rgba(246, 207, 114, 0.45);
  background: linear-gradient(180deg, rgba(4,17,21,.92), rgba(4,12,15,.98));
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
}

.gate-hero-visual {
  height: 286px;
  position: relative;
  overflow: hidden;
}

.gate-hero-image,
.gate-hero-overlay {
  position: absolute;
  inset: 0;
}

.gate-hero-image {
  background: url('../../app-assets/launch/soccer-growth-adventure-gate-v20.png') center 56% / cover no-repeat;
  transform: scale(1.08);
}

.gate-hero-overlay {
  background: linear-gradient(180deg, rgba(2,10,14,.08), rgba(2,10,14,.82));
}

.gate-content {
  position: relative;
  z-index: 2;
  margin-top: -32px;
  padding: 0 24px 26px;
  text-align: center;
}

.gate-eyebrow {
  margin: 0;
  color: var(--gold-2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}

.language-gate-card h1 {
  margin: 10px 0 0;
  color: #fff7e5;
  font-size: clamp(34px, 9vw, 58px);
  line-height: .94;
  letter-spacing: -.06em;
  text-shadow: 0 4px 18px rgba(0,0,0,.55);
}

.gate-subtitles {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  font-size: 16px;
  font-weight: 900;
}

.gate-guide {
  margin: 18px 0 0;
  color: #dcece7;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 700;
}

.gate-language-title {
  display: grid;
  gap: 4px;
  margin-top: 22px;
}

.gate-language-title strong {
  color: #f7d781;
  font-size: 14px;
  font-weight: 900;
}

.gate-language-title span {
  color: #d3ebe5;
  font-size: 13px;
  font-weight: 800;
}

.gate-language-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
}

.gate-language-buttons button {
  display: grid;
  place-items: center;
  min-height: 102px;
  padding: 10px 8px;
  border: 1px solid rgba(217,184,112,.38);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(22,42,46,.96), rgba(5,14,19,.98));
}

.gate-language-buttons button span {
  color: var(--gold-2);
  font-size: 22px;
  font-weight: 950;
}

.gate-language-buttons button strong {
  margin-top: 8px;
  color: #f9fffd;
  font-size: 15px;
}

.gate-language-buttons button small {
  margin-top: 6px;
  color: #a7c3bc;
  font-size: 10px;
}

.gate-bottom-copy {
  margin: 18px 0 0;
  color: rgba(232,247,244,.72);
  font-size: 12px;
  font-weight: 800;
}

/* responsive */
@media (max-width: 430px) {
  .app-shell,
  .record-rpg-shell,
  .fantasy-board-shell {
    max-width: calc(100vw - 14px);
    padding-top: 10px;
  }

  .rpg-top-board {
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: 12px;
    padding: 20px 24px 20px 28px;
    min-height: 126px;
  }

  .rpg-top-title h1 {
    font-size: 21px;
  }

  .rpg-top-title span {
    font-size: 10.6px;
  }

  .rpg-small-badges span {
    min-width: 0;
    padding: 8px 8px;
  }

  .status-pair-row {
    gap: 8px;
  }

  .parchment-tile {
    padding: 11px 10px;
    min-height: 78px;
  }

  .parchment-tile strong {
    font-size: 15px;
  }

  .rpg-preview-grid {
    gap: 9px;
  }

  .rpg-preview-card {
    padding: 9px;
  }

  .rpg-card-title {
    font-size: 12px;
  }

  .rpg-card-frame,
  .rpg-item-frame,
  .rpg-card-frame .growth-card.simplified-card,
  .growth-card.simplified-card {
    min-height: 178px;
    height: 178px;
  }

  .rpg-item-frame .item-image-wrap img {
    max-height: 164px;
  }

  .tap-hint {
    min-height: 34px;
    font-size: 11px;
  }

  .rpg-english-board > strong {
    font-size: 15px;
  }

  .sentence-guide-block small {
    font-size: 10px;
  }

  .rpg-exp-row {
    gap: 6px;
  }

  .exp-rune {
    min-height: 58px;
  }

  .exp-rune strong {
    font-size: 18px;
  }

  .exp-rune span {
    font-size: 9px;
  }

  .probability-row {
    gap: 4px;
  }

  .probability-chip span {
    font-size: 9px;
  }

  .board-grid {
    grid-template-columns: repeat(10, 1fr);
  }

  .participation-strip {
    gap: 5px;
  }

  .participation-strip em {
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 360px) {
  .rpg-top-board {
    grid-template-columns: 1fr;
  }

  .rpg-top-controls {
    justify-items: stretch;
    width: 100%;
  }

  .rpg-small-badges {
    grid-template-columns: repeat(2, auto);
  }

  .rpg-preview-grid,
  .status-pair-row,
  .draw-actions,
  .rpg-dex-buttons,
  .rpg-bottom-link-area {
    grid-template-columns: 1fr;
  }

  .rpg-card-frame,
  .rpg-item-frame,
  .rpg-card-frame .growth-card.simplified-card,
  .growth-card.simplified-card {
    min-height: 210px;
    height: 210px;
  }

  .rpg-item-frame .item-image-wrap img {
    max-height: 190px;
  }
}


/* v35: keep header content clickable and above the transparent frame image */
.rpg-top-board .rpg-top-title,
.rpg-top-board .rpg-top-controls {
  position: relative;
  z-index: 2;
}

.rpg-top-board .language-switch,
.rpg-top-board .language-switch button {
  position: relative;
  z-index: 4;
}


/* v36: fit content inside the user frame more cleanly */
.rpg-top-board .rpg-top-title,
.rpg-top-board .rpg-top-controls {
  position: relative;
  z-index: 2;
}

.rpg-top-board .language-switch,
.rpg-top-board .language-switch button {
  position: relative;
  z-index: 4;
}


/* v38: restore v36 layout first, then only micro-adjust safely */
.rpg-record-board {
  overflow: visible;
}

.rpg-top-board {
  overflow: visible;
}

.rpg-header-frame-overlay {
  inset: -1px -4px;
  background-image: url("../../app-assets/ui/v39/top-header-border-overlay.png");
  transform: scaleX(1.006);
  transform-origin: center center;
}

.rpg-top-title .header-description {
  display: block;
  margin-top: 8px;
  color: #f1ead6;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.42;
  max-width: 100%;
}

.rpg-small-badges {
  justify-items: end;
}

.rpg-small-badges span {
  width: 96px;
  min-width: 0;
  justify-self: end;
  padding-left: 8px;
  padding-right: 8px;
}

@media (max-width: 430px) {
  .rpg-header-frame-overlay {
    inset: -1px -3px;
    transform: scaleX(1.004);
  }

  .rpg-top-title .header-description {
    font-size: 10.6px;
    line-height: 1.42;
  }

  .rpg-small-badges span {
    width: 92px;
  }
}

@media (max-width: 360px) {
  .rpg-header-frame-overlay {
    inset: -1px -2px;
    transform: none;
  }

  .rpg-small-badges span {
    width: auto;
  }
}


/* v39: minimal safe fine-tune from stable v38 */
.rpg-top-title {
  padding-top: 8px;
}

.rpg-top-title .eyebrow {
  margin-bottom: 8px;
}

.rpg-top-controls {
  padding-right: 10px;
}

.rpg-small-badges span {
  width: 92px;
}

@media (max-width: 430px) {
  .rpg-top-title {
    padding-top: 9px;
  }

  .rpg-top-controls {
    padding-right: 8px;
  }

  .rpg-small-badges span {
    width: 88px;
  }
}


/* v40: brighter fantasy PC background */
@media (min-width: 768px) {
  body {
    background:
      linear-gradient(180deg, rgba(7, 9, 10, 0.16), rgba(7, 9, 10, 0.64)),
      url("../../app-assets/backgrounds/pc-fantasy-arena-v40.png"),
      linear-gradient(180deg, #0c1413 0%, #070908 100%);
    background-size: cover, cover, auto;
    background-position: center center, center center, center;
    background-attachment: fixed, fixed, scroll;
  }
}


/* v41: ornate parchment image for the growth status board */
.rpg-status-board {
  padding: 28px 22px 22px;
  border-color: transparent;
  box-shadow: none;
  background: url("../../app-assets/ui/v41/status-board-parchment.png") center / 100% 100% no-repeat;
}

.rpg-status-board::before {
  display: none;
}

.rpg-status-board .rpg-section-title {
  margin-bottom: 16px;
}

.rpg-status-board .status-pair-row {
  gap: 12px;
}

.rpg-status-board .parchment-tile {
  background: rgba(245, 232, 193, 0.66);
  border: 1px solid rgba(101, 73, 26, 0.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
}

@media (max-width: 430px) {
  .rpg-status-board {
    padding: 24px 18px 18px;
    background-size: 100% 100%;
  }
}

/* v43: user-supplied transparent ornate frame for recent card / reward item */
.rpg-preview-card {
  position: relative;
  min-width: 0;
  padding: 18px 14px 18px;
  color: var(--text);
  border: 0;
  border-radius: 36px;
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    0 20px 34px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(255,255,255,0.03) inset;
  background:
    radial-gradient(circle at 50% 10%, rgba(120, 238, 160, 0.10), transparent 36%),
    linear-gradient(180deg, rgba(24, 50, 29, 0.96), rgba(4, 10, 8, 0.985));
}

.rpg-preview-card::before {
  display: none;
}

.rpg-preview-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: url("../../app-assets/ui/v43/showcase-frame-overlay-user.png") center / 100% 100% no-repeat;
}

.rpg-preview-card > * {
  position: relative;
  z-index: 2;
}

.rpg-card-title {
  margin: 12px 0 12px;
  padding: 0 12px;
  color: #f5dc97;
  font-size: 15px;
  font-weight: 950;
  text-align: center;
  letter-spacing: -0.02em;
}

.rpg-card-frame,
.rpg-item-frame {
  min-height: 205px;
  margin: 6px 18px 0;
  border-radius: 24px;
  background: rgba(2, 8, 12, 0.84);
  border: 1px solid rgba(232, 210, 156, 0.18);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.025),
    0 10px 18px rgba(0,0,0,0.20);
}

.rpg-card-frame .growth-card.simplified-card,
.growth-card.simplified-card {
  min-height: 205px;
  height: 205px;
  border-radius: 24px;
}

.rpg-item-frame {
  padding: 10px;
}

.rpg-item-frame .item-image-wrap img {
  max-height: 186px;
}

.tap-hint,
.item-rarity-line {
  margin-top: 12px;
}

.tap-hint {
  min-height: 40px;
  margin-left: 26px;
  margin-right: 26px;
}

.rarity-pill.in-showcase {
  min-width: 88px;
}

@media (max-width: 430px) {
  .rpg-preview-card {
    padding: 16px 12px 16px;
    border-radius: 32px;
  }

  .rpg-card-title {
    margin: 10px 0 11px;
    padding: 0 10px;
    font-size: 14px;
  }

  .rpg-card-frame,
  .rpg-item-frame {
    min-height: 188px;
    margin: 5px 16px 0;
    border-radius: 22px;
  }

  .rpg-card-frame .growth-card.simplified-card,
  .growth-card.simplified-card {
    min-height: 188px;
    height: 188px;
    border-radius: 22px;
  }

  .rpg-item-frame .item-image-wrap img {
    max-height: 168px;
  }

  .tap-hint {
    min-height: 38px;
    margin-left: 22px;
    margin-right: 22px;
  }
}

/* v44: make recent card / reward frame thinner, slightly taller, and smaller confirm button */
.rpg-preview-card {
  padding: 16px 12px 20px;
  border-radius: 34px;
}

.rpg-preview-card::after {
  inset: -8px -4px -10px -4px;
  background-size: 104% 108%;
}

.rpg-card-title {
  margin: 10px 0 10px;
}

.rpg-card-frame,
.rpg-item-frame {
  min-height: 214px;
  margin: 6px 24px 0;
  border-radius: 22px;
}

.rpg-card-frame .growth-card.simplified-card,
.growth-card.simplified-card {
  min-height: 214px;
  height: 214px;
  border-radius: 22px;
}

.rpg-item-frame .item-image-wrap img {
  max-height: 194px;
}

.tap-hint {
  min-height: 34px;
  margin-top: 10px;
  margin-left: 38px;
  margin-right: 38px;
  padding: 0 12px;
  font-size: 11px;
}

@media (max-width: 430px) {
  .rpg-preview-card {
    padding: 14px 10px 18px;
    border-radius: 30px;
  }

  .rpg-preview-card::after {
    inset: -7px -3px -9px -3px;
    background-size: 104% 108%;
  }

  .rpg-card-title {
    margin: 9px 0 10px;
    font-size: 14px;
  }

  .rpg-card-frame,
  .rpg-item-frame {
    min-height: 198px;
    margin: 5px 22px 0;
    border-radius: 20px;
  }

  .rpg-card-frame .growth-card.simplified-card,
  .growth-card.simplified-card {
    min-height: 198px;
    height: 198px;
    border-radius: 20px;
  }

  .rpg-item-frame .item-image-wrap img {
    max-height: 176px;
  }

  .tap-hint {
    min-height: 32px;
    margin-left: 34px;
    margin-right: 34px;
    font-size: 10.5px;
  }
}


/* v45: preview popup flip + zoom reveal animation */
.modal-backdrop {
  animation: modalBackdropFadeIn 260ms ease-out both;
}

.reward-modal.preview-modal {
  overflow: visible;
  perspective: 1100px;
  transform-origin: center center;
  animation: previewModalRiseIn 280ms ease-out both;
}

.reward-modal.preview-modal .section-kicker,
.reward-modal.preview-modal h2,
.reward-modal.preview-modal .preview-item-copy,
.reward-modal.preview-modal .modal-actions,
.reward-modal.preview-modal > button {
  animation: previewTextFadeIn 520ms ease-out both;
}

.preview-card-wrap,
.preview-item-wrap {
  perspective: 1200px;
  transform-style: preserve-3d;
}

.preview-card-wrap .growth-card.simplified-card,
.preview-item-wrap .item-stage {
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform, filter, opacity;
  animation: previewFlipZoomIn 720ms cubic-bezier(.18,.88,.22,1.08) both;
}

.preview-item-wrap .item-stage {
  animation-name: previewItemFlipZoomIn;
}

.preview-card-wrap::after,
.preview-item-wrap::after {
  content: "";
  display: block;
  width: min(74%, 250px);
  height: 18px;
  margin: 8px auto 0;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.42), transparent 70%);
  animation: previewShadowBloom 720ms cubic-bezier(.18,.88,.22,1.08) both;
}

@keyframes modalBackdropFadeIn {
  from {
    background: rgba(0,0,0,0);
    backdrop-filter: blur(0);
  }
  to {
    background: rgba(0,0,0,.74);
    backdrop-filter: blur(8px);
  }
}

@keyframes previewModalRiseIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes previewFlipZoomIn {
  0% {
    opacity: 0;
    transform: scale(.22) rotateY(-82deg) rotateZ(-7deg);
    filter: brightness(1.45) blur(2px) drop-shadow(0 0 0 rgba(241, 217, 139, 0));
  }
  42% {
    opacity: 1;
    transform: scale(1.08) rotateY(14deg) rotateZ(2deg);
    filter: brightness(1.24) blur(0) drop-shadow(0 0 24px rgba(241, 217, 139, .36));
  }
  68% {
    transform: scale(.98) rotateY(-5deg) rotateZ(-1deg);
    filter: brightness(1.08) drop-shadow(0 0 16px rgba(241, 217, 139, .24));
  }
  100% {
    opacity: 1;
    transform: scale(1) rotateY(0) rotateZ(0);
    filter: brightness(1) drop-shadow(0 18px 26px rgba(0,0,0,.38));
  }
}

@keyframes previewItemFlipZoomIn {
  0% {
    opacity: 0;
    transform: scale(.25) rotateY(76deg) rotateZ(6deg);
    filter: brightness(1.55) blur(2px) drop-shadow(0 0 0 rgba(117, 232, 255, 0));
  }
  42% {
    opacity: 1;
    transform: scale(1.08) rotateY(-12deg) rotateZ(-2deg);
    filter: brightness(1.24) blur(0) drop-shadow(0 0 28px rgba(117, 232, 255, .38));
  }
  68% {
    transform: scale(.98) rotateY(5deg) rotateZ(1deg);
    filter: brightness(1.08) drop-shadow(0 0 18px rgba(117, 232, 255, .24));
  }
  100% {
    opacity: 1;
    transform: scale(1) rotateY(0) rotateZ(0);
    filter: brightness(1) drop-shadow(0 18px 26px rgba(0,0,0,.38));
  }
}

@keyframes previewShadowBloom {
  0% {
    opacity: 0;
    transform: scaleX(.18);
  }
  48% {
    opacity: .78;
    transform: scaleX(1.12);
  }
  100% {
    opacity: .48;
    transform: scaleX(1);
  }
}

@keyframes previewTextFadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal-backdrop,
  .reward-modal.preview-modal,
  .reward-modal.preview-modal .section-kicker,
  .reward-modal.preview-modal h2,
  .reward-modal.preview-modal .preview-item-copy,
  .reward-modal.preview-modal .modal-actions,
  .preview-card-wrap .growth-card.simplified-card,
  .preview-item-wrap .item-stage,
  .preview-card-wrap::after,
  .preview-item-wrap::after {
    animation: none !important;
  }
}


/* v46: brighter flash burst when preview popup opens */
.preview-card-wrap,
.preview-item-wrap {
  position: relative;
  overflow: visible;
}

.preview-card-wrap::before,
.preview-item-wrap::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 43%;
  width: min(92vw, 390px);
  height: min(92vw, 390px);
  transform: translate(-50%, -50%) scale(.18) rotate(-16deg);
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 245, 191, .95) 0%, rgba(241, 217, 139, .52) 12%, rgba(241, 217, 139, .16) 32%, transparent 64%),
    conic-gradient(from 0deg, transparent 0deg, rgba(255, 238, 156, .92) 18deg, transparent 38deg, transparent 68deg, rgba(255, 238, 156, .72) 82deg, transparent 102deg, transparent 142deg, rgba(255, 238, 156, .86) 156deg, transparent 178deg, transparent 222deg, rgba(255, 238, 156, .68) 238deg, transparent 256deg, transparent 302deg, rgba(255, 238, 156, .78) 316deg, transparent 340deg);
  filter: blur(.2px) drop-shadow(0 0 22px rgba(241, 217, 139, .42));
  animation: previewGoldBurst 780ms cubic-bezier(.18,.88,.22,1.08) both;
}

.preview-item-wrap::before {
  background:
    radial-gradient(circle, rgba(206, 246, 255, .98) 0%, rgba(117, 232, 255, .48) 13%, rgba(117, 232, 255, .16) 34%, transparent 66%),
    conic-gradient(from 18deg, transparent 0deg, rgba(117, 232, 255, .9) 16deg, transparent 36deg, transparent 68deg, rgba(241, 217, 139, .62) 84deg, transparent 102deg, transparent 144deg, rgba(117, 232, 255, .82) 160deg, transparent 178deg, transparent 220deg, rgba(241, 217, 139, .58) 238deg, transparent 256deg, transparent 300deg, rgba(117, 232, 255, .76) 316deg, transparent 340deg);
  filter: blur(.2px) drop-shadow(0 0 24px rgba(117, 232, 255, .44));
  animation-name: previewBlueBurst;
}

.preview-card-wrap .growth-card.simplified-card,
.preview-item-wrap .item-stage {
  position: relative;
  z-index: 2;
}

.preview-card-wrap .growth-card.simplified-card::after,
.preview-item-wrap .item-stage::after {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 7;
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(115deg, transparent 0%, transparent 34%, rgba(255,255,255,.96) 47%, rgba(255,240,165,.56) 52%, transparent 66%, transparent 100%);
  mix-blend-mode: screen;
  transform: translateX(-80%) rotate(6deg);
  animation: previewSlashFlash 820ms ease-out 110ms both;
}

.preview-item-wrap .item-stage::after {
  background:
    linear-gradient(115deg, transparent 0%, transparent 34%, rgba(255,255,255,.95) 47%, rgba(118,235,255,.62) 52%, transparent 66%, transparent 100%);
}

.reward-modal.preview-modal::after {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 237, 160, .26), transparent 32%),
    radial-gradient(circle at 18% 18%, rgba(255, 237, 160, .18), transparent 20%),
    radial-gradient(circle at 82% 22%, rgba(117, 232, 255, .14), transparent 22%);
  animation: previewModalAuraPulse 900ms ease-out both;
}

.reward-modal.preview-modal > * {
  position: relative;
  z-index: 2;
}

@keyframes previewGoldBurst {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.18) rotate(-24deg);
  }
  24% {
    opacity: .95;
    transform: translate(-50%, -50%) scale(1.08) rotate(10deg);
  }
  58% {
    opacity: .48;
    transform: translate(-50%, -50%) scale(1.26) rotate(24deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.42) rotate(38deg);
  }
}

@keyframes previewBlueBurst {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.18) rotate(24deg);
  }
  24% {
    opacity: .95;
    transform: translate(-50%, -50%) scale(1.08) rotate(-10deg);
  }
  58% {
    opacity: .48;
    transform: translate(-50%, -50%) scale(1.26) rotate(-24deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.42) rotate(-38deg);
  }
}

@keyframes previewSlashFlash {
  0% {
    opacity: 0;
    transform: translateX(-90%) rotate(6deg);
  }
  28% {
    opacity: .95;
  }
  100% {
    opacity: 0;
    transform: translateX(92%) rotate(6deg);
  }
}

@keyframes previewModalAuraPulse {
  0% {
    opacity: 0;
    filter: blur(0);
  }
  30% {
    opacity: 1;
    filter: blur(0);
  }
  100% {
    opacity: 0;
    filter: blur(8px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .preview-card-wrap::before,
  .preview-item-wrap::before,
  .preview-card-wrap .growth-card.simplified-card::after,
  .preview-item-wrap .item-stage::after,
  .reward-modal.preview-modal::after {
    animation: none !important;
    display: none !important;
  }
}


/* v47: remove cheap diagonal beam, replace with premium soft halo glow */
.preview-card-wrap .growth-card.simplified-card::after,
.preview-item-wrap .item-stage::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

.preview-card-wrap::before,
.preview-item-wrap::before {
  width: min(86vw, 330px);
  height: min(86vw, 330px);
  top: 45%;
  opacity: 0;
  background:
    radial-gradient(circle, rgba(255, 241, 177, .56) 0%, rgba(241, 217, 139, .32) 12%, rgba(241, 217, 139, .12) 30%, transparent 62%),
    radial-gradient(circle, transparent 38%, rgba(241, 217, 139, .28) 41%, transparent 47%);
  filter: blur(0.3px) drop-shadow(0 0 18px rgba(241, 217, 139, .24));
  animation: previewSoftGoldHalo 900ms cubic-bezier(.18,.88,.22,1.02) both !important;
}

.preview-item-wrap::before {
  background:
    radial-gradient(circle, rgba(206, 246, 255, .54) 0%, rgba(117, 232, 255, .30) 13%, rgba(117, 232, 255, .10) 32%, transparent 64%),
    radial-gradient(circle, transparent 38%, rgba(117, 232, 255, .25) 41%, transparent 47%);
  filter: blur(0.3px) drop-shadow(0 0 18px rgba(117, 232, 255, .26));
  animation-name: previewSoftBlueHalo !important;
}

.preview-card-wrap .growth-card.simplified-card,
.preview-item-wrap .item-stage {
  box-shadow:
    0 18px 28px rgba(0,0,0,.42),
    0 0 0 1px rgba(241, 217, 139, .18),
    0 0 26px rgba(241, 217, 139, .12);
}

.preview-item-wrap .item-stage {
  box-shadow:
    0 18px 28px rgba(0,0,0,.42),
    0 0 0 1px rgba(117, 232, 255, .16),
    0 0 28px rgba(117, 232, 255, .12);
}

.reward-modal.preview-modal::after {
  background:
    radial-gradient(circle at 50% 24%, rgba(255, 237, 160, .16), transparent 34%),
    radial-gradient(circle at 50% 72%, rgba(117, 232, 255, .09), transparent 28%);
  animation: previewSoftModalAura 1100ms ease-out both !important;
}

@keyframes previewSoftGoldHalo {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.28);
  }
  34% {
    opacity: .72;
    transform: translate(-50%, -50%) scale(1.02);
  }
  72% {
    opacity: .28;
    transform: translate(-50%, -50%) scale(1.16);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.28);
  }
}

@keyframes previewSoftBlueHalo {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.28);
  }
  34% {
    opacity: .70;
    transform: translate(-50%, -50%) scale(1.02);
  }
  72% {
    opacity: .26;
    transform: translate(-50%, -50%) scale(1.16);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.28);
  }
}

@keyframes previewSoftModalAura {
  0% {
    opacity: 0;
  }
  34% {
    opacity: .82;
  }
  100% {
    opacity: 0;
  }
}


/* v49: keep recent card / reward item as original green frame, and change only Today's English board to ornate parchment */
.rpg-english-board {
  padding: 26px 22px 22px;
  border: 0;
  box-shadow: 0 18px 32px rgba(0,0,0,0.26);
  background: url("../../app-assets/ui/v41/status-board-parchment.png") center / 100% 100% no-repeat !important;
}

.rpg-english-board::before {
  display: none !important;
}

.rpg-english-board .english-board-title {
  margin: 2px 0 13px;
}

.rpg-english-board .english-board-title span {
  color: #3f2a10;
}

.rpg-english-board .speech-button {
  transform: translate(-2px, 0);
  box-shadow:
    0 5px 12px rgba(0,0,0,.15),
    inset 0 1px 0 rgba(255,255,255,.36);
}

.rpg-english-board > strong {
  color: #211507;
}

.rpg-english-board > em {
  color: #4b351c;
}

.rpg-english-board .sentence-guide-block {
  background: rgba(112, 80, 30, 0.13);
  border: 1px solid rgba(104, 73, 25, 0.22);
}

/* restore the preview cards to the original green ornamental frame style */
.rpg-preview-card {
  padding: 16px 12px 20px;
  border-radius: 34px;
  color: var(--text);
  border: 0;
  background:
    radial-gradient(circle at 50% 10%, rgba(120, 238, 160, 0.10), transparent 36%),
    linear-gradient(180deg, rgba(24, 50, 29, 0.96), rgba(4, 10, 8, 0.985)) !important;
  box-shadow:
    0 20px 34px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(255,255,255,0.03) inset;
}

.rpg-preview-card::before {
  display: none !important;
}

.rpg-preview-card::after {
  content: "";
  position: absolute;
  inset: -8px -4px -10px -4px;
  z-index: 1;
  pointer-events: none;
  display: block !important;
  background: url("../../app-assets/ui/v43/showcase-frame-overlay-user.png") center / 104% 108% no-repeat !important;
}

.rpg-preview-card > * {
  position: relative;
  z-index: 2;
}

.rpg-preview-card .rpg-card-title {
  margin: 10px 0 10px;
  padding: 0 12px;
  color: #f5dc97;
  font-size: 15px;
  font-weight: 950;
  text-shadow: none;
}

.rpg-preview-card .rpg-card-frame,
.rpg-preview-card .rpg-item-frame {
  min-height: 214px;
  margin: 6px 24px 0;
  border-radius: 22px;
  background: rgba(2, 8, 12, 0.84);
  border: 1px solid rgba(232, 210, 156, 0.18);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.025),
    0 10px 18px rgba(0,0,0,0.20);
}

.rpg-preview-card .rpg-card-frame .growth-card.simplified-card,
.rpg-preview-card .growth-card.simplified-card {
  min-height: 214px;
  height: 214px;
  border-radius: 22px;
}

.rpg-preview-card .rpg-item-frame {
  padding: 10px;
}

.rpg-preview-card .rpg-item-frame .item-image-wrap img {
  max-height: 194px;
}

.rpg-preview-card .tap-hint {
  min-height: 34px;
  margin-top: 10px;
  margin-left: 38px;
  margin-right: 38px;
  padding: 0 12px;
  font-size: 11px;
}

@media (max-width: 430px) {
  .rpg-english-board {
    padding: 24px 18px 20px;
  }

  .rpg-preview-card {
    padding: 14px 10px 18px;
    border-radius: 30px;
  }

  .rpg-preview-card::after {
    inset: -7px -3px -9px -3px;
    background-size: 104% 108% !important;
  }

  .rpg-preview-card .rpg-card-title {
    margin: 9px 0 10px;
    font-size: 14px;
  }

  .rpg-preview-card .rpg-card-frame,
  .rpg-preview-card .rpg-item-frame {
    min-height: 198px;
    margin: 5px 22px 0;
    border-radius: 20px;
  }

  .rpg-preview-card .rpg-card-frame .growth-card.simplified-card,
  .rpg-preview-card .growth-card.simplified-card {
    min-height: 198px;
    height: 198px;
    border-radius: 20px;
  }

  .rpg-preview-card .rpg-item-frame .item-image-wrap img {
    max-height: 176px;
  }

  .rpg-preview-card .tap-hint {
    min-height: 32px;
    margin-left: 34px;
    margin-right: 34px;
    font-size: 10.5px;
  }
}


/* v51: today action board = parchment board, and JP font tuning */
.lang-ja,
.lang-ja button,
.lang-ja input,
.lang-ja textarea {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

.lang-ja .rpg-action-board h2,
.lang-ja .rpg-gacha-board h2,
.lang-ja .rpg-english-board h2,
.lang-ja .section-kicker {
  letter-spacing: -0.03em;
  font-weight: 900;
}

.rpg-action-board {
  padding: 22px 20px;
  border-color: transparent;
  box-shadow: none;
  background: url("../../app-assets/ui/v41/status-board-parchment.png") center / 100% 100% no-repeat;
}

.rpg-action-board::before {
  display: none;
}

.rpg-action-board > div {
  padding: 4px 2px 4px 4px;
}

.rpg-action-board .section-kicker {
  display: none;
}

.rpg-action-board h2 {
  margin: 0;
  color: #21160b;
}

.rpg-action-board .action-board-desc {
  margin-top: 8px;
  color: #4f3718;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 760;
  white-space: pre-line;
}

@media (max-width: 430px) {
  .rpg-action-board {
    padding: 20px 18px;
    background-size: 100% 100%;
  }

  .rpg-action-board > div {
    padding: 2px 0 2px 2px;
  }
}


/* v54: FIX today's English board background - clean generated parchment only, not screenshot */
.rpg-english-board {
  padding: 22px 20px 20px !important;
  border: 0 !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 30px rgba(0,0,0,0.24) !important;
  background: url("../../app-assets/ui/v54/english-board-clean-parchment-v54.png") center / 100% 100% no-repeat !important;
}

.rpg-english-board::before,
.rpg-english-board::after {
  content: none !important;
  display: none !important;
}

.rpg-english-board > * {
  position: relative;
  z-index: 2;
}

.english-board-title {
  margin-bottom: 12px !important;
  padding: 0 2px;
}

.english-board-title span {
  color: #3a260d !important;
}

.rpg-english-board > strong {
  color: #1f150a !important;
  font-size: 17px;
  line-height: 1.34;
}

.rpg-english-board > em {
  color: #47321a !important;
  margin-top: 8px;
}

.rpg-english-board .sentence-guide-block {
  margin-top: 14px;
  padding: 13px 14px;
  border-radius: 16px;
  background: rgba(152, 123, 73, 0.12) !important;
  border: 1px solid rgba(124, 92, 43, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
}

.rpg-english-board .sentence-guide-block small {
  color: #50371a !important;
}

@media (max-width: 430px) {
  .rpg-english-board {
    padding: 20px 18px 18px !important;
    background-size: 100% 100% !important;
  }
}


/* v55: force today's English board to use the user-approved wide parchment background */
.rpg-english-board {
  padding: 18px 17px 16px !important;
  border: 0 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.22) !important;
  background: url("../../app-assets/ui/v55/english-board-user-wide-parchment.png") center / 100% 100% no-repeat !important;
}

.rpg-english-board::before,
.rpg-english-board::after {
  content: none !important;
  display: none !important;
}

.english-board-title {
  margin-bottom: 12px !important;
}

.english-board-title span {
  color: #3f280d !important;
}

.rpg-english-board > strong {
  color: #1e1409 !important;
}

.rpg-english-board > em {
  color: #4d371d !important;
}

.sentence-guide-block {
  margin-top: 14px !important;
  padding: 13px 14px !important;
  border-radius: 14px !important;
  background: rgba(132, 102, 56, 0.10) !important;
  border: 1px solid rgba(128, 96, 50, 0.22) !important;
}

@media (max-width: 430px) {
  .rpg-english-board {
    padding: 17px 16px 15px !important;
  }
}


/* v56: center the today's English board and make it slightly taller */
.rpg-english-board {
  width: calc(100% - 10px) !important;
  max-width: 392px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 21px 17px 19px !important;
  min-height: 188px;
}

.english-board-title {
  margin-bottom: 13px !important;
}

.sentence-guide-block {
  margin-top: 15px !important;
}

@media (max-width: 430px) {
  .rpg-english-board {
    width: calc(100% - 8px) !important;
    max-width: none !important;
    padding: 20px 16px 18px !important;
    min-height: 184px;
  }
}


/* v57: restore full board width, center only the title text, and make the parchment slightly taller */
.rpg-english-board {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 22px 18px 21px !important;
  min-height: 198px !important;
  background-size: 100% 100% !important;
}

.rpg-english-board .english-board-title {
  position: relative;
  display: block !important;
  min-height: 42px;
  margin-bottom: 14px !important;
  padding: 0 50px !important;
  text-align: center;
}

.rpg-english-board .english-board-title span {
  display: block;
  width: 100%;
  font-size: 16px;
  line-height: 42px;
  text-align: center;
}

.rpg-english-board .speech-button {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.rpg-english-board > strong {
  line-height: 1.32;
}

.rpg-english-board > em {
  display: block;
  margin-top: 8px;
  line-height: 1.42;
}

.rpg-english-board .sentence-guide-block {
  margin-top: 16px !important;
}

@media (max-width: 430px) {
  .rpg-english-board {
    width: 100% !important;
    max-width: none !important;
    padding: 21px 17px 20px !important;
    min-height: 194px !important;
  }

  .rpg-english-board .english-board-title {
    padding: 0 48px !important;
  }
}


/* v58: motivational English-board title with same visual scale as the main section heading */
.rpg-english-board .english-board-title span {
  font-size: 23px !important;
  line-height: 42px !important;
  letter-spacing: -0.05em !important;
  font-weight: 950 !important;
}

@media (max-width: 430px) {
  .rpg-english-board .english-board-title span {
    font-size: 23px !important;
  }
}


/* v59: action board uses the user-approved wide parchment background */
.rpg-action-board {
  padding: 20px 18px !important;
  min-height: 136px;
  border: 0 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.22) !important;
  background: url("../../app-assets/ui/v59/action-board-user-parchment.png") center / 100% 100% no-repeat !important;
}

.rpg-action-board::before,
.rpg-action-board::after {
  content: none !important;
  display: none !important;
}

.rpg-action-board h2 {
  margin: 0 !important;
  font-size: 26px !important;
  line-height: 1.24 !important;
  letter-spacing: -0.05em !important;
  color: #2b1d0f !important;
  white-space: pre-line;
}

.rpg-action-board .action-board-desc {
  display: none !important;
}

.rpg-action-board .rpg-main-action {
  min-width: 148px;
}

@media (max-width: 430px) {
  .rpg-action-board {
    padding: 19px 17px !important;
    min-height: 132px;
    gap: 10px;
  }

  .rpg-action-board h2 {
    font-size: 25px !important;
    line-height: 1.22 !important;
  }

  .rpg-action-board .rpg-main-action {
    min-width: 142px;
  }
}


/* v60: reduce action board title size and visually widen parchment to remove black edges */
.rpg-action-board {
  padding: 18px 20px !important;
  min-height: 126px !important;
  background-position: center !important;
  background-size: 112% 118% !important;
}

.rpg-action-board h2 {
  font-size: 16px !important;
  line-height: 1.42 !important;
  letter-spacing: -0.03em !important;
  font-weight: 900 !important;
}

.rpg-action-board .rpg-main-action {
  min-width: 144px !important;
}

@media (max-width: 430px) {
  .rpg-action-board {
    padding: 17px 19px !important;
    min-height: 122px !important;
    background-size: 114% 120% !important;
  }

  .rpg-action-board h2 {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
}


/* v61: use the same parchment background as the English board for the reward gear box */
.rpg-gacha-board {
  border: 0 !important;
  box-shadow: 0 12px 24px rgba(0,0,0,0.24) !important;
  background: url("../../app-assets/ui/v55/english-board-user-wide-parchment.png") center / 100% 100% no-repeat !important;
  padding: 18px 14px !important;
}

.rpg-gacha-board::before,
.rpg-gacha-board::after {
  content: none !important;
  display: none !important;
}

.rpg-gacha-board h2,
.rpg-gacha-board p,
.rpg-gacha-board .section-kicker {
  color: #2b1d0f !important;
}

.rpg-gacha-board .ticket-badge,
.rpg-gacha-board .probability-chip,
.rpg-gacha-board .recent-chip {
  background: rgba(245, 234, 205, 0.72) !important;
  border-color: rgba(110, 78, 31, 0.18) !important;
}

@media (max-width: 430px) {
  .rpg-gacha-board {
    padding: 17px 13px !important;
  }
}


/* v62: fine-tune English board title position and give the reward gear box more vertical room */
.english-board-title {
  margin-top: 4px !important;
  margin-bottom: 14px !important;
}

.english-board-title span {
  padding-top: 2px !important;
}

.rpg-gacha-board {
  padding-top: 24px !important;
  padding-bottom: 18px !important;
}

.rpg-gacha-board .section-title-row {
  align-items: center !important;
  margin-top: 2px !important;
  margin-bottom: 4px !important;
}

.rpg-gacha-board .section-title-row > div:first-child {
  padding-top: 2px !important;
}

@media (max-width: 430px) {
  .english-board-title {
    margin-top: 5px !important;
  }

  .rpg-gacha-board {
    padding-top: 22px !important;
    padding-bottom: 17px !important;
  }
}


/* v63: center and lower the reward gear box heading, and narrow recent item rows */
.rpg-gacha-board .section-title-row {
  position: relative !important;
  display: block !important;
  min-height: 66px !important;
  padding-top: 10px !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
}

.rpg-gacha-board .section-title-row > div:first-child {
  width: 100% !important;
  text-align: center !important;
  padding-top: 8px !important;
}

.rpg-gacha-board .section-kicker,
.rpg-gacha-board h2 {
  text-align: center !important;
}

.rpg-gacha-board .ticket-badge {
  position: absolute !important;
  top: 2px !important;
  right: 0 !important;
}

.rpg-gacha-board .recent-draws {
  align-items: center !important;
}

.rpg-gacha-board .recent-chip {
  width: 70% !important;
  margin-inline: auto !important;
}

@media (max-width: 430px) {
  .rpg-gacha-board .section-title-row {
    min-height: 64px !important;
    padding-top: 8px !important;
  }

  .rpg-gacha-board .section-title-row > div:first-child {
    padding-top: 9px !important;
  }

  .rpg-gacha-board .recent-chip {
    width: 70% !important;
  }
}


/* v64: move ticket badge left a bit and enlarge parchment background for the reward gear box */
.rpg-gacha-board {
  background-position: center !important;
  background-size: 110% 110% !important;
  padding-top: 26px !important;
  padding-bottom: 20px !important;
}

.rpg-gacha-board .ticket-badge {
  right: 10px !important;
}

@media (max-width: 430px) {
  .rpg-gacha-board {
    background-size: 110% 112% !important;
    padding-top: 24px !important;
    padding-bottom: 19px !important;
  }

  .rpg-gacha-board .ticket-badge {
    right: 10px !important;
  }
}

/* v65: apply the user-provided reward gear box parchment background with matching ratio.
   The board height remains auto so it can flex up/down as the item count changes. */
.rpg-gacha-board {
  height: auto !important;
  min-height: 0 !important;
  background: url("../../app-assets/ui/v65/gacha-board-user-ratio-bg.png") center / 100% 100% no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  padding: 24px 14px 22px !important;
}

.rpg-gacha-board .section-title-row {
  margin-top: 4px !important;
  margin-bottom: 10px !important;
}

.rpg-gacha-board .ticket-badge {
  right: 10px !important;
}

@media (max-width: 430px) {
  .rpg-gacha-board {
    background: url("../../app-assets/ui/v65/gacha-board-user-ratio-bg.png") center / 100% 100% no-repeat !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
    padding: 23px 13px 21px !important;
  }

  .rpg-gacha-board .section-title-row {
    margin-bottom: 9px !important;
  }
}


/* v66: remove outer board lines around dex/button rows and recolor bottom links */
.rpg-dex-buttons,
.rpg-bottom-link-area {
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  padding: 0;
  overflow: visible;
}

.rpg-dex-buttons::before,
.rpg-bottom-link-area::before,
.rpg-dex-buttons::after,
.rpg-bottom-link-area::after {
  display: none;
  content: none;
}

.rpg-bottom-link-area .cafe-main-link {
  background: linear-gradient(180deg, #edd7c9, #d7a99a);
  border-color: rgba(121, 65, 57, 0.45);
  color: #3b1c16;
}

.rpg-bottom-link-area .cafe-main-link span,
.rpg-bottom-link-area .cafe-main-link strong {
  color: #3b1c16;
}

.rpg-bottom-link-area button {
  background: linear-gradient(180deg, #d6e0c2, #9fb27f);
  border-color: rgba(71, 97, 47, 0.45);
  color: rgba(42, 49, 30, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 7px 14px rgba(0,0,0,.14);
  opacity: 0.92;
}

.rpg-bottom-link-area button span {
  color: rgba(42, 49, 30, 0.72);
}

/* v67 growth board parchment + spacing fix */
.rpg-board-compact {
  padding: 18px 16px 16px;
  background:
    url('../../app-assets/ui/v67/growth-board-parchment.png') center center / 100% 100% no-repeat !important;
  border: none !important;
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.28),
    0 3px 10px rgba(58, 34, 8, 0.18);
}

.rpg-board-compact::before {
  display: none !important;
}

.rpg-board-compact .section-title-row {
  align-items: flex-start;
}

.rpg-board-compact .section-kicker {
  margin: 0 0 4px;
  color: #6f5220;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.01em;
  text-transform: none;
}

.rpg-board-compact h2 {
  margin-top: 0;
  letter-spacing: -0.04em;
}

.rpg-board-compact .section-title-row > span {
  margin-top: 2px;
}

.rpg-board-compact .board-grid {
  margin-top: 14px;
}

.rpg-board-compact .board-cell.active {
  color: #241708;
  font-size: 11px;
  text-shadow: 0 0 6px rgba(255, 245, 195, 0.9);
  animation: board-ball-blink 1.15s ease-in-out infinite;
}

@keyframes board-ball-blink {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
    box-shadow: 0 0 10px rgba(217,184,112,.28);
  }
  35% {
    transform: scale(1.12);
    filter: brightness(1.14);
    box-shadow: 0 0 18px rgba(255, 219, 128, 0.62);
  }
  65% {
    transform: scale(0.98);
    filter: brightness(0.94);
    box-shadow: 0 0 8px rgba(217,184,112,.18);
  }
}

@media (max-width: 480px) {
  .rpg-board-compact {
    padding: 16px 14px 14px;
    background-size: 100% 100%;
  }

  .rpg-board-compact .section-kicker {
    font-size: 11px;
  }
}

/* v68: growth board background fill fix + centered title block + smaller inset counter */
.rpg-board-compact {
  padding: 16px 14px 15px !important;
  border: none !important;
  border-radius: 26px !important;
  background: url('../../app-assets/ui/v68/growth-board-parchment-fill.png') center center / 100% 100% no-repeat !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.24),
    0 3px 10px rgba(58, 34, 8, 0.14) !important;
}

.rpg-board-compact::before,
.rpg-board-compact::after {
  display: none !important;
  content: none !important;
}

.rpg-board-compact .section-title-row {
  position: relative !important;
  display: block !important;
  min-height: 54px !important;
  margin-bottom: 4px !important;
  padding-top: 0 !important;
}

.rpg-board-compact .section-title-row > div:first-child {
  width: 100% !important;
  padding: 2px 62px 0 62px !important;
  text-align: center !important;
}

.rpg-board-compact .section-kicker {
  margin: 0 0 4px !important;
  color: #6f5220 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}

.rpg-board-compact h2 {
  margin: 0 !important;
  color: #24190c !important;
  font-size: 18px !important;
  line-height: 1.14 !important;
  letter-spacing: -0.04em !important;
  text-align: center !important;
}

.rpg-board-compact .section-title-row > span {
  position: absolute !important;
  top: 1px !important;
  right: 12px !important;
  min-width: 56px !important;
  min-height: 40px !important;
  padding: 5px 8px !important;
  border-radius: 14px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  color: #4b381d !important;
  background: rgba(247, 238, 214, 0.92) !important;
  border: 1px solid rgba(101, 73, 26, 0.22) !important;
}

.rpg-board-compact .board-grid {
  margin-top: 10px !important;
}

.rpg-board-compact .board-cell.active {
  animation: board-ball-blink 1.15s ease-in-out infinite !important;
}

@media (max-width: 430px) {
  .rpg-board-compact {
    padding: 15px 13px 14px !important;
    background-size: 100% 100% !important;
  }

  .rpg-board-compact .section-title-row {
    min-height: 52px !important;
  }

  .rpg-board-compact .section-title-row > div:first-child {
    padding: 1px 58px 0 58px !important;
  }

  .rpg-board-compact .section-kicker {
    font-size: 11px !important;
  }

  .rpg-board-compact h2 {
    font-size: 17px !important;
  }

  .rpg-board-compact .section-title-row > span {
    right: 11px !important;
    min-width: 54px !important;
    min-height: 38px !important;
    font-size: 11px !important;
  }

  .rpg-board-compact .board-grid {
    margin-top: 9px !important;
  }
}

/* v70: restore v68 base, remove stray row outlines harder, and refit growth board background */
.rpg-dex-buttons,
.rpg-bottom-link-area {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.rpg-dex-buttons::before,
.rpg-dex-buttons::after,
.rpg-bottom-link-area::before,
.rpg-bottom-link-area::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.rpg-board-compact {
  padding: 16px 12px 20px !important;
  border: none !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background: url('../../app-assets/ui/v70/growth-board-parchment-wide.png') center center / 100% 100% no-repeat !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.24),
    0 3px 10px rgba(58, 34, 8, 0.14) !important;
}

.rpg-board-compact::before,
.rpg-board-compact::after {
  display: none !important;
  content: none !important;
}

.rpg-board-compact .section-title-row {
  position: relative !important;
  display: block !important;
  min-height: 58px !important;
  margin-bottom: 8px !important;
  padding-top: 0 !important;
}

.rpg-board-compact .section-title-row > div:first-child {
  width: 100% !important;
  padding: 2px 68px 0 68px !important;
  text-align: center !important;
}

.rpg-board-compact .section-kicker {
  margin: 0 0 4px !important;
  color: #6f5220 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}

.rpg-board-compact h2 {
  margin: 0 !important;
  color: #24190c !important;
  font-size: 18px !important;
  line-height: 1.14 !important;
  letter-spacing: -0.04em !important;
  text-align: center !important;
}

.rpg-board-compact .section-title-row > span {
  position: absolute !important;
  top: 4px !important;
  right: 12px !important;
  min-width: 52px !important;
  min-height: 38px !important;
  padding: 5px 8px !important;
  border-radius: 14px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  color: #4b381d !important;
  background: rgba(247, 238, 214, 0.92) !important;
  border: 1px solid rgba(101, 73, 26, 0.22) !important;
}

.rpg-board-compact .board-grid {
  margin-top: 12px !important;
}

.rpg-board-compact .board-cell.active {
  animation: board-ball-blink 1.15s ease-in-out infinite !important;
}

@media (max-width: 430px) {
  .rpg-board-compact {
    padding: 15px 11px 19px !important;
    background-size: 100% 100% !important;
  }

  .rpg-board-compact .section-title-row {
    min-height: 56px !important;
  }

  .rpg-board-compact .section-title-row > div:first-child {
    padding: 1px 62px 0 62px !important;
  }

  .rpg-board-compact .section-kicker {
    font-size: 11px !important;
  }

  .rpg-board-compact h2 {
    font-size: 17px !important;
  }

  .rpg-board-compact .section-title-row > span {
    right: 11px !important;
    top: 5px !important;
    min-width: 50px !important;
    min-height: 36px !important;
    font-size: 11px !important;
  }

  .rpg-board-compact .board-grid {
    margin-top: 11px !important;
  }
}

/* v75: kakao -> chrome PWA install gate */
.sga-install-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 22px 14px;
  color: #fff7df;
  background:
    radial-gradient(circle at 50% 4%, rgba(241, 217, 139, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(11, 30, 25, 0.96), rgba(4, 9, 8, 0.98));
}

.sga-install-card {
  width: min(430px, calc(100vw - 24px));
  padding: 30px 22px 26px;
  border-radius: 28px;
  text-align: center;
  border: 1px solid rgba(217, 184, 112, 0.45);
  background:
    radial-gradient(circle at 50% 0%, rgba(241, 217, 139, 0.16), transparent 38%),
    linear-gradient(180deg, rgba(31, 48, 34, 0.96), rgba(8, 17, 13, 0.98));
  box-shadow: 0 18px 42px rgba(0,0,0,0.46), inset 0 1px 0 rgba(255,255,255,0.08);
}

.sga-install-eyebrow {
  margin: 0 0 10px;
  color: #f1d98b;
  font-size: 10px;
  letter-spacing: 0.12em;
  font-weight: 950;
}

.sga-install-card h1 {
  margin: 0;
  color: #fff4cf;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -0.06em;
}

.sga-install-card h2 {
  margin: 13px 0 0;
  color: #f4e3af;
  font-size: 18px;
  line-height: 1.32;
  letter-spacing: -0.04em;
}

.sga-install-lead,
.sga-install-note,
.sga-install-status {
  white-space: pre-line;
}

.sga-install-lead {
  margin: 18px 0 0;
  color: #ede2c4;
  font-size: 14px;
  line-height: 1.62;
  font-weight: 760;
}

.sga-install-primary {
  width: 100%;
  min-height: 54px;
  margin-top: 22px;
  border-radius: 999px;
  border: 1px solid rgba(95, 64, 21, 0.6);
  color: #2a1c0a;
  background: linear-gradient(180deg, #f5e2a7, #d3aa50);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36), 0 10px 18px rgba(0,0,0,.24);
  font-weight: 950;
}

.sga-install-note {
  margin: 18px 0 0;
  color: #d7c6a1;
  font-size: 12px;
  line-height: 1.58;
  font-weight: 760;
}

.sga-install-status {
  margin: 18px 0 0;
  padding: 14px 13px;
  border-radius: 18px;
  color: #2d210f;
  background: rgba(242, 226, 184, 0.94);
  border: 1px solid rgba(126, 90, 31, 0.28);
  font-size: 12px;
  line-height: 1.55;
  font-weight: 850;
}

/* v75: share install link button, shown only in the main app screen */
.sga-share-section {
  display: grid;
  gap: 8px;
  padding: 0 2px 2px;
}

.sga-share-section button {
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(217, 184, 112, 0.38);
  color: #f5e7bd;
  background:
    radial-gradient(circle at 35% 0%, rgba(255,255,255,0.12), transparent 38%),
    linear-gradient(180deg, rgba(38, 60, 42, 0.92), rgba(13, 28, 21, 0.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 8px 15px rgba(0,0,0,0.20);
  font-size: 12px;
  font-weight: 950;
}

.sga-share-section p {
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  color: #2d210f;
  background: rgba(242, 226, 184, 0.92);
  border: 1px solid rgba(126, 90, 31, 0.22);
  font-size: 11px;
  line-height: 1.45;
  font-weight: 820;
}

/* v76: English voice helper */
.voice-helper-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.voice-helper-actions button {
  min-height: 34px;
  padding: 8px 9px;
  border-radius: 999px;
  border: 1px solid rgba(97, 67, 24, 0.32);
  color: #2f210d;
  background: linear-gradient(180deg, rgba(248, 235, 190, 0.98), rgba(215, 181, 101, 0.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 5px 10px rgba(70, 42, 12, 0.12);
  font-size: 10.5px;
  line-height: 1.15;
  font-weight: 900;
}

.voice-helper-actions button:last-child:nth-child(3) {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, rgba(233, 226, 203, 0.98), rgba(196, 173, 124, 0.98));
}

.voice-helper-notice {
  display: block;
  margin-top: 9px;
  padding: 9px 10px;
  border-radius: 12px;
  color: #3b2b13;
  background: rgba(255, 249, 226, 0.55);
  border: 1px solid rgba(97, 67, 24, 0.18);
}

@media (max-width: 360px) {
  .voice-helper-actions {
    grid-template-columns: 1fr;
  }

  .voice-helper-actions button:last-child:nth-child(3) {
    grid-column: auto;
  }
}


/* v78: voice UI cleanup and speaker position refinement */
.rpg-english-board .english-board-title {
  padding-left: 68px !important;
  padding-right: 68px !important;
}

.rpg-english-board .speech-button {
  right: 14px !important;
}

.voice-helper-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.voice-helper-actions button:last-child {
  background: linear-gradient(180deg, rgba(233, 226, 203, 0.98), rgba(196, 173, 124, 0.98));
}

@media (max-width: 430px) {
  .rpg-english-board .english-board-title {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }

  .rpg-english-board .speech-button {
    right: 12px !important;
  }
}

@media (max-width: 360px) {
  .rpg-english-board .english-board-title {
    padding-left: 58px !important;
    padding-right: 58px !important;
  }

  .rpg-english-board .speech-button {
    right: 10px !important;
  }
}


/* WordPress all-in-one shell: only active on the page containing [growth_adventure]. */
html.sga-growth-html,
body.sga-growth-page {
  width: 100% !important;
  min-width: 320px !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

body.sga-growth-page {
  background-color: #07110d !important;
}

body.sga-growth-page .sga-standalone-page,
body.sga-growth-page .sga-shortcode-wrap,
body.sga-growth-page .sga-react-root {
  width: 100% !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sga-growth-page .sga-shortcode-wrap {
  display: block !important;
  background: transparent !important;
}

body.sga-growth-page .sga-react-loading {
  width: min(430px, calc(100vw - 20px));
  margin: 32px auto;
  padding: 20px;
  border-radius: 22px;
  color: #2b1d0c;
  text-align: center;
  background: linear-gradient(180deg, #f5e7bd, #d9be7f);
}

body.sga-growth-page .sga-react-loading strong,
body.sga-growth-page .sga-react-loading span {
  display: block;
}

body.sga-growth-page .sga-react-loading span {
  margin-top: 8px;
  font-size: 13px;
}

@media (max-width: 782px) {
  body.admin-bar.sga-growth-page {
    min-height: calc(100vh - 46px) !important;
  }
}

/* ---- SGA onboarding and patch CSS ---- */
.sga-onboarding-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 22px 14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 224, 146, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(5, 7, 8, 0.84), rgba(5, 7, 8, 0.94));
  overflow-y: auto;
}

.sga-onboarding-card {
  width: min(430px, calc(100vw - 24px));
  padding: 26px 18px 18px;
  border-radius: 28px;
  color: #281a09;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.25), transparent 34%),
    linear-gradient(180deg, rgba(248, 236, 193, 0.98), rgba(213, 183, 103, 0.98));
  border: 2px solid rgba(104, 73, 23, 0.54);
  box-shadow:
    0 24px 44px rgba(0, 0, 0, 0.42),
    inset 0 0 0 1px rgba(255,255,255,.26);
}

.sga-onboarding-eyebrow {
  margin: 0 0 6px;
  color: #6d5220;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .14em;
}

.sga-onboarding-card h1 {
  margin: 0;
  color: #211407;
  font-size: 25px;
  line-height: 1.12;
  letter-spacing: -0.055em;
  font-weight: 950;
}

.sga-onboarding-desc {
  margin: 10px 0 16px;
  color: #4d3516;
  font-size: 12.5px;
  line-height: 1.5;
  font-weight: 760;
}

.sga-onboarding-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.sga-onboarding-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.sga-onboarding-field.wide {
  grid-column: 1 / -1;
}

.sga-onboarding-field span {
  color: #4c3517;
  font-size: 11px;
  font-weight: 900;
}

.sga-onboarding-field input,
.sga-onboarding-field select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid rgba(104, 73, 23, 0.38);
  color: #201306;
  background: rgba(255, 247, 221, 0.86);
  font-size: 14px;
  font-weight: 760;
  outline: none;
}

.sga-onboarding-field input:focus,
.sga-onboarding-field select:focus {
  border-color: rgba(94, 64, 18, 0.82);
  box-shadow: 0 0 0 3px rgba(215, 176, 82, 0.18);
}

.sga-onboarding-actions {
  display: grid;
  gap: 9px;
  margin-top: 16px;
}

.sga-onboarding-primary,
.sga-onboarding-secondary {
  min-height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(86, 58, 18, 0.55);
  font: inherit;
  font-weight: 950;
}

.sga-onboarding-primary {
  color: #291907;
  background: linear-gradient(180deg, #f7e8b4, #d2a847);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 9px 16px rgba(0,0,0,.18);
}

.sga-onboarding-secondary {
  color: #52391a;
  background: rgba(255, 247, 221, 0.62);
}

@media (max-width: 420px) {
  .sga-onboarding-card {
    padding: 23px 15px 16px;
  }
  .sga-onboarding-card h1 {
    font-size: 23px;
  }
  .sga-onboarding-grid {
    gap: 9px;
  }
  .sga-onboarding-field input,
  .sga-onboarding-field select {
    min-height: 40px;
    font-size: 13px;
  }
}

/* v84: expanded position selector readability */
.sga-onboarding-field select[name="position"] {
  font-size: 13px;
  letter-spacing: -0.02em;
}

@media (max-width: 420px) {
  .sga-onboarding-field select[name="position"] {
    font-size: 12.5px;
  }
}


/* v85: restore main top board visibility after onboarding/profile start */
.sga-growth-page .rpg-record-board > .rpg-top-board,
.sga-growth-page .rpg-top-board.sga-main-header-visible,
.sga-growth-page .rpg-top-board.sga-forced-main-header {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 126px !important;
  max-height: none !important;
  overflow: visible !important;
  margin-bottom: 0 !important;
}

.sga-growth-page .rpg-top-board.sga-forced-main-header {
  grid-template-columns: minmax(0, 1fr) 116px;
  align-items: start;
  gap: 16px;
  padding: 22px 30px 22px 34px;
  border: 2px solid transparent;
  border-radius: 24px;
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(255, 255, 255, 0.07);
  background:
    radial-gradient(circle at 20% 0%, rgba(217, 184, 112, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(37, 27, 15, 0.96), rgba(10, 9, 7, 0.98));
}

.sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-title,
.sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-controls {
  position: relative;
  z-index: 3;
}

.sga-growth-page .rpg-top-board.sga-forced-main-header .header-description {
  white-space: pre-line;
}

/* v85: make speaker icon visible even when the React button text is empty */
.sga-growth-page .rpg-english-board .speech-button,
.sga-growth-page .speech-button.sga-speaker-visible {
  display: grid !important;
  place-items: center !important;
  font-size: 0 !important;
  line-height: 1 !important;
  color: transparent !important;
  overflow: visible !important;
}

.sga-growth-page .rpg-english-board .speech-button::before,
.sga-growth-page .speech-button.sga-speaker-visible::before {
  content: "🔊";
  display: block;
  color: #30200d;
  font-size: 20px;
  line-height: 1;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.42));
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-top-board.sga-forced-main-header {
    grid-template-columns: minmax(0, 1fr) 106px;
    gap: 12px;
    padding: 20px 24px 20px 28px;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-top-board.sga-forced-main-header {
    grid-template-columns: 1fr;
    padding: 20px 22px;
  }
}


/* v86: force Simple Play / Secret bottom buttons to remain visible on the main screen */
.sga-growth-page .rpg-record-board > .rpg-bottom-link-area,
.sga-growth-page .rpg-bottom-link-area.sga-bottom-links-visible,
.sga-growth-page .rpg-bottom-link-area.sga-forced-bottom-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 3 !important;
}

.sga-growth-page .rpg-bottom-link-area::before,
.sga-growth-page .rpg-bottom-link-area::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.sga-growth-page .rpg-bottom-link-area a,
.sga-growth-page .rpg-bottom-link-area button {
  display: grid !important;
  place-items: center !important;
  min-height: 76px !important;
  padding: 12px 10px !important;
  border-radius: 24px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  line-height: 1.25 !important;
  position: relative !important;
  z-index: 4 !important;
}

.sga-growth-page .rpg-bottom-link-area .cafe-main-link {
  color: #3b1c16 !important;
  background: linear-gradient(180deg, #edd7c9, #d7a99a) !important;
  border: 1px solid rgba(121, 65, 57, 0.45) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 8px 16px rgba(0,0,0,.16) !important;
}

.sga-growth-page .rpg-bottom-link-area button {
  color: rgba(42, 49, 30, 0.82) !important;
  background: linear-gradient(180deg, #d6e0c2, #9fb27f) !important;
  border: 1px solid rgba(71, 97, 47, 0.45) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 8px 16px rgba(0,0,0,.14) !important;
  opacity: 0.94 !important;
}

.sga-growth-page .rpg-bottom-link-area a span,
.sga-growth-page .rpg-bottom-link-area button span {
  display: block !important;
  margin-bottom: 4px !important;
  color: inherit !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  opacity: .78 !important;
}

.sga-growth-page .rpg-bottom-link-area a strong,
.sga-growth-page .rpg-bottom-link-area button {
  font-size: 15px !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-bottom-link-area a,
  .sga-growth-page .rpg-bottom-link-area button {
    min-height: 70px !important;
    border-radius: 22px !important;
    font-size: 14px !important;
  }

  .sga-growth-page .rpg-bottom-link-area a span,
  .sga-growth-page .rpg-bottom-link-area button span {
    font-size: 10px !important;
  }
}


/* v87: top header right controls micro-fit and speaker button alignment */
.sga-growth-page .rpg-top-board.sga-main-header-visible,
.sga-growth-page .rpg-top-board.sga-forced-main-header,
.sga-growth-page .rpg-record-board > .rpg-top-board {
  overflow: visible !important;
}

.sga-growth-page .rpg-top-board .rpg-top-controls,
.sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-controls {
  width: 92px !important;
  max-width: 92px !important;
  justify-self: end !important;
  gap: 7px !important;
  padding-top: 1px !important;
  padding-right: 0 !important;
  margin-right: 16px !important;
  transform: scale(0.84) translateX(-8px) !important;
  transform-origin: top right !important;
}

.sga-growth-page .rpg-top-board .language-switch {
  width: 92px !important;
  min-height: 35px !important;
  padding: 4px 5px !important;
  gap: 3px !important;
  align-items: center !important;
  justify-content: center !important;
}

.sga-growth-page .rpg-top-board .language-switch button {
  display: grid !important;
  place-items: center !important;
  width: 27px !important;
  height: 27px !important;
  min-width: 27px !important;
  min-height: 27px !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
}

.sga-growth-page .rpg-top-board .rpg-small-badges {
  gap: 7px !important;
  justify-items: end !important;
}

.sga-growth-page .rpg-top-board .rpg-small-badges span {
  width: 76px !important;
  min-width: 76px !important;
  min-height: 39px !important;
  padding: 7px 7px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 12px !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

.sga-growth-page .rpg-english-board .english-board-title {
  padding-left: 62px !important;
  padding-right: 82px !important;
}

.sga-growth-page .rpg-english-board .speech-button,
.sga-growth-page .speech-button.sga-speaker-visible {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  right: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) scale(0.92) !important;
  border-radius: 999px !important;
  padding: 0 !important;
}

.sga-growth-page .rpg-english-board .speech-button::before,
.sga-growth-page .speech-button.sga-speaker-visible::before {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  font-size: 26px !important;
  line-height: 1 !important;
  transform: translate(1px, 0) !important;
}

.sga-growth-page .speech-button.sga-speaking-now {
  box-shadow:
    0 0 0 3px rgba(132, 255, 215, 0.18),
    0 0 18px rgba(132, 255, 215, 0.35) !important;
}

.sga-growth-page .sga-voice-notice {
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 14px;
  color: #4a3317;
  background: rgba(255, 247, 221, 0.68);
  border: 1px solid rgba(104, 73, 23, 0.22);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-top-board .rpg-top-controls,
  .sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-controls {
    width: 88px !important;
    max-width: 88px !important;
    margin-right: 18px !important;
    transform: scale(0.82) translateX(-10px) !important;
  }

  .sga-growth-page .rpg-top-board .language-switch {
    width: 88px !important;
  }

  .sga-growth-page .rpg-top-board .language-switch button {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    min-height: 25px !important;
    font-size: 10px !important;
  }

  .sga-growth-page .rpg-top-board .rpg-small-badges span {
    width: 72px !important;
    min-width: 72px !important;
    min-height: 37px !important;
    font-size: 11px !important;
  }

  .sga-growth-page .rpg-english-board .english-board-title {
    padding-left: 54px !important;
    padding-right: 76px !important;
  }

  .sga-growth-page .rpg-english-board .speech-button,
  .sga-growth-page .speech-button.sga-speaker-visible {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    right: 22px !important;
  }

  .sga-growth-page .rpg-english-board .speech-button::before,
  .sga-growth-page .speech-button.sga-speaker-visible::before {
    font-size: 24px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-top-board .rpg-top-controls,
  .sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-controls {
    margin-right: 10px !important;
    transform: scale(0.8) translateX(-8px) !important;
  }

  .sga-growth-page .rpg-english-board .speech-button,
  .sga-growth-page .speech-button.sga-speaker-visible {
    right: 18px !important;
  }
}

/* v88: top header content shift, speaker centering, status button two-line */
.sga-growth-page .rpg-top-board .rpg-top-title,
.sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-title {
  transform: translate(18px, 10px) !important;
  transform-origin: top left !important;
}

.sga-growth-page .rpg-top-board .rpg-top-controls,
.sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-controls {
  margin-right: 8px !important;
  transform: translate(8px, 9px) scale(0.82) !important;
  transform-origin: top right !important;
}

.sga-growth-page .rpg-english-board .speech-button,
.sga-growth-page .speech-button.sga-speaker-visible {
  display: grid !important;
  place-items: center !important;
  right: 21px !important;
}

.sga-growth-page .rpg-english-board .speech-button::before,
.sga-growth-page .speech-button.sga-speaker-visible::before {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 25px !important;
  line-height: 1 !important;
  transform: translate(-2px, 1px) !important;
  text-align: center !important;
}

.sga-growth-page .sga-status-check-two-line {
  display: grid !important;
  grid-template-rows: auto auto !important;
  place-items: center !important;
  gap: 1px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  text-align: center !important;
}

.sga-growth-page .sga-status-check-two-line span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.05 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-top-board .rpg-top-title,
  .sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-title {
    transform: translate(15px, 9px) !important;
  }

  .sga-growth-page .rpg-top-board .rpg-top-controls,
  .sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-controls {
    margin-right: 9px !important;
    transform: translate(7px, 8px) scale(0.8) !important;
  }

  .sga-growth-page .rpg-english-board .speech-button,
  .sga-growth-page .speech-button.sga-speaker-visible {
    right: 20px !important;
  }

  .sga-growth-page .rpg-english-board .speech-button::before,
  .sga-growth-page .speech-button.sga-speaker-visible::before {
    font-size: 23px !important;
    transform: translate(-2px, 1px) !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-top-board .rpg-top-title,
  .sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-title {
    transform: translate(12px, 8px) !important;
  }

  .sga-growth-page .rpg-top-board .rpg-top-controls,
  .sga-growth-page .rpg-top-board.sga-forced-main-header .rpg-top-controls {
    margin-right: 6px !important;
    transform: translate(5px, 8px) scale(0.78) !important;
  }

  .sga-growth-page .rpg-english-board .speech-button,
  .sga-growth-page .speech-button.sga-speaker-visible {
    right: 17px !important;
  }
}

/* v89: Japanese title micro-fit for the English motivation board */
html.sga-lang-ja .sga-growth-page .rpg-english-board .english-board-title span,
body.sga-lang-ja.sga-growth-page .rpg-english-board .english-board-title span,
html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .english-board-title span,
body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .english-board-title span {
  font-size: 0.88em !important;
  letter-spacing: -0.065em !important;
  white-space: nowrap !important;
  line-height: 1.05 !important;
}

html.sga-lang-ja .sga-growth-page .rpg-english-board .english-board-title,
body.sga-lang-ja.sga-growth-page .rpg-english-board .english-board-title,
html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .english-board-title,
body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .english-board-title {
  padding-left: 54px !important;
  padding-right: 78px !important;
}

@media (max-width: 430px) {
  html.sga-lang-ja .sga-growth-page .rpg-english-board .english-board-title span,
  body.sga-lang-ja.sga-growth-page .rpg-english-board .english-board-title span,
  html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .english-board-title span,
  body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .english-board-title span {
    font-size: 0.84em !important;
    letter-spacing: -0.075em !important;
  }
}


/* v90: action copy line-fit, English-board title micro-lower, JA status button, EN/JA top title scale */
.sga-growth-page .rpg-action-board h2.sga-action-title-fixed {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  letter-spacing: -0.045em !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

.sga-growth-page .rpg-action-board h2.sga-action-title-fixed span {
  display: block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.sga-growth-page .rpg-english-board .english-board-title span {
  display: inline-block !important;
  transform: translateY(3px) !important;
}

.sga-growth-page .sga-status-check-two-line-ja {
  display: grid !important;
  grid-template-rows: auto auto !important;
  place-items: center !important;
  gap: 1px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  text-align: center !important;
}

.sga-growth-page .sga-status-check-two-line-ja span {
  display: block !important;
  white-space: nowrap !important;
}

html.sga-lang-en .sga-growth-page .rpg-top-board .rpg-top-title h1,
body.sga-lang-en.sga-growth-page .rpg-top-board .rpg-top-title h1,
html[data-sga-lang="en"] .sga-growth-page .rpg-top-board .rpg-top-title h1,
body[data-sga-lang="en"].sga-growth-page .rpg-top-board .rpg-top-title h1,
html.sga-lang-ja .sga-growth-page .rpg-top-board .rpg-top-title h1,
body.sga-lang-ja.sga-growth-page .rpg-top-board .rpg-top-title h1,
html[data-sga-lang="ja"] .sga-growth-page .rpg-top-board .rpg-top-title h1,
body[data-sga-lang="ja"].sga-growth-page .rpg-top-board .rpg-top-title h1,
.sga-growth-page .rpg-top-board.sga-main-header-lang-en .rpg-top-title h1,
.sga-growth-page .rpg-top-board.sga-main-header-lang-ja .rpg-top-title h1 {
  display: inline-block !important;
  transform: scale(0.95) !important;
  transform-origin: left center !important;
  letter-spacing: -0.06em !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-action-board h2.sga-action-title-fixed {
    font-size: 13.5px !important;
    line-height: 1.42 !important;
    letter-spacing: -0.055em !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-action-board h2.sga-action-title-fixed {
    font-size: 12.8px !important;
    letter-spacing: -0.06em !important;
  }
}


/* v91: level-based English sentence guide */
.sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide small {
  display: block !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

html.sga-lang-ja .sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide small,
body.sga-lang-ja.sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide small,
html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide small,
body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide small {
  font-size: 0.95em !important;
  letter-spacing: -0.035em !important;
}


/* v93: explicit position selection, one-time legacy repair, and validation */
.sga-onboarding-field select.sga-field-invalid {
  border-color: #a52a2a !important;
  box-shadow: 0 0 0 3px rgba(165, 42, 42, 0.16) !important;
}

.sga-onboarding-field select[name="position"]:invalid {
  color: #6d5a3a;
}

.sga-onboarding-field select[name="position"] option {
  color: #201306;
}

.sga-position-repair-overlay {
  z-index: 2147483647;
}

.sga-position-repair-card {
  width: min(430px, calc(100vw - 24px));
}

.sga-position-repair-grid {
  grid-template-columns: 1fr;
}

.sga-position-repair-grid .sga-onboarding-field {
  grid-column: 1 / -1;
}

/* v94: compact anonymous-mode notice */
.sga-onboarding-privacy {
  margin: 12px 4px 0;
  color: rgba(61, 42, 18, 0.82);
  font-size: 10px;
  line-height: 1.55;
  font-weight: 700;
  text-align: left;
  word-break: keep-all;
}

@media (max-width: 420px) {
  .sga-onboarding-privacy {
    margin-top: 10px;
    font-size: 9.5px;
    line-height: 1.5;
  }
}

/* v95: local-only player nickname */
.sga-onboarding-field input.sga-field-invalid {
  border-color: #a52a2a !important;
  box-shadow: 0 0 0 3px rgba(165, 42, 42, 0.16) !important;
}

.sga-nickname-repair-grid {
  grid-template-columns: 1fr;
}

.sga-nickname-repair-grid .sga-onboarding-field {
  grid-column: 1 / -1;
}

/* v98: one-day detailed skill assessment before first main screen */
.sga-skill-assessment-card {
  width: min(520px, calc(100vw - 22px));
  padding-bottom: 18px;
}

.sga-skill-result-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(104, 73, 23, 0.28);
  background: rgba(255, 247, 221, 0.58);
  color: #422b11;
  font-size: 12px;
  font-weight: 900;
}

.sga-skill-result-preview span {
  min-width: 54px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #f7e7ad;
  background: linear-gradient(180deg, #2a1a08, #5d3b0f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
  font-size: 18px;
  font-weight: 950;
}

.sga-skill-list {
  display: grid;
  gap: 9px;
}

.sga-skill-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 1.25fr);
  gap: 9px;
  align-items: center;
  padding: 10px;
  border-radius: 17px;
  background: rgba(255, 248, 224, 0.56);
  border: 1px solid rgba(104, 73, 23, 0.22);
}

.sga-skill-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.sga-skill-copy strong {
  color: #2a1a08;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.sga-skill-copy span {
  color: #67461e;
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.32;
  letter-spacing: -0.03em;
}

.sga-skill-options {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.sga-skill-option {
  position: relative;
  display: grid;
  gap: 1px;
  justify-items: center;
  align-content: center;
  min-height: 42px;
  padding: 4px 2px;
  border-radius: 12px;
  color: #5a3b16;
  background: rgba(255, 250, 233, 0.7);
  border: 1px solid rgba(110, 78, 28, 0.24);
  cursor: pointer;
  overflow: hidden;
}

.sga-skill-option input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.sga-skill-option b {
  position: relative;
  z-index: 1;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}

.sga-skill-option small {
  position: relative;
  z-index: 1;
  font-size: 8.4px;
  font-weight: 880;
  line-height: 1.08;
  letter-spacing: -0.05em;
  white-space: nowrap;
}

.sga-skill-option:has(input:checked) {
  color: #261707;
  background: linear-gradient(180deg, #f6dda0, #d0a041);
  border-color: rgba(88, 57, 16, 0.62);
  box-shadow: 0 5px 10px rgba(75, 48, 13, 0.16), inset 0 1px 0 rgba(255,255,255,.35);
}

.sga-skill-note {
  margin: 11px 2px 0;
  color: #5c3f1a;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 780;
}

.sga-skill-actions {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}

@supports not selector(:has(*)) {
  .sga-skill-option input:checked + b,
  .sga-skill-option input:checked + b + small {
    color: #111;
    text-decoration: underline;
  }
}

@media (max-width: 520px) {
  .sga-skill-assessment-card {
    padding: 22px 13px 15px;
  }

  .sga-skill-row {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px;
  }

  .sga-skill-options {
    gap: 4px;
  }

  .sga-skill-option {
    min-height: 38px;
    border-radius: 10px;
  }

  .sga-skill-option small {
    font-size: 7.8px;
  }

  .sga-skill-actions {
    grid-template-columns: 1fr;
  }
}

/* v100: main-screen readiness detail popup */
.sga-growth-page .rpg-status-board .rpg-section-title,
.sga-growth-page .rpg-status-board header {
  position: relative;
}

.sga-growth-page .sga-readiness-detail-button {
  margin: 10px auto 0;
  display: inline-grid;
  place-items: center;
  min-height: 34px;
  padding: 0 16px;
  border: 1px solid rgba(94, 63, 15, 0.55);
  border-radius: 999px;
  background: linear-gradient(180deg, #fff3bd 0%, #e1bd63 52%, #bc8426 100%);
  color: #2b1a08;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: -0.03em;
  box-shadow: 0 8px 16px rgba(68, 42, 10, 0.2), inset 0 1px 0 rgba(255,255,255,.48);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.sga-growth-page .sga-readiness-detail-button:active {
  transform: translateY(1px) scale(.99);
}

.sga-readiness-detail-overlay {
  z-index: 2147483646;
}

.sga-readiness-detail-card {
  max-height: calc(100vh - 22px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.sga-readiness-detail-card .sga-skill-list {
  gap: 8px;
}

.sga-readiness-detail-card .sga-skill-row {
  padding: 9px;
}

.sga-readiness-detail-card .sga-onboarding-actions {
  grid-template-columns: 1fr;
  margin-top: 12px;
}

.sga-readiness-detail-card .sga-skill-note {
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 248, 224, 0.58);
  border: 1px solid rgba(104, 73, 23, 0.2);
}

.sga-growth-page .rpg-status-board [data-sga-readiness-status="complete"] {
  box-shadow: inset 0 0 0 1px rgba(77, 139, 86, 0.24), 0 10px 20px rgba(58, 38, 12, 0.12);
}

@media (max-width: 520px) {
  .sga-growth-page .sga-readiness-detail-button {
    min-height: 32px;
    padding: 0 14px;
    font-size: 11px;
    margin-top: 8px;
  }

  .sga-readiness-detail-card {
    width: min(520px, calc(100vw - 16px));
    padding-left: 12px;
    padding-right: 12px;
  }

  .sga-readiness-detail-card .sga-skill-list {
    gap: 7px;
  }
}

/* v101: readiness no-change quick confirmation and daily ticket reward */
.sga-readiness-no-change-button {
  width: 100%;
  min-height: 36px;
  margin: 4px 0 10px;
  border: 1px solid rgba(94, 63, 15, 0.48);
  border-radius: 999px;
  background: linear-gradient(180deg, #f7ead1 0%, #e3c27e 100%);
  color: #2b1a08;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: -0.03em;
  box-shadow: 0 6px 12px rgba(68, 42, 10, 0.12), inset 0 1px 0 rgba(255,255,255,.5);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.sga-readiness-no-change-button:active {
  transform: translateY(1px) scale(.99);
}

.sga-readiness-ticket-note {
  margin: 8px 2px 0;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(87, 130, 67, 0.28);
  background: rgba(232, 250, 219, 0.58);
  color: #284018;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 850;
}

.sga-readiness-ticket-note:empty {
  display: none;
}

.sga-readiness-ticket-note[data-sga-ticket-state="done"] {
  border-color: rgba(104, 73, 23, 0.22);
  background: rgba(255, 248, 224, 0.58);
  color: #5c3f1a;
}

@media (max-width: 520px) {
  .sga-readiness-no-change-button {
    min-height: 34px;
    margin-bottom: 9px;
    font-size: 11px;
  }
}

/* v103: dual language learning buttons on the phrase board */
.sga-growth-page .rpg-english-board.sga-dual-language-board {
  position: relative !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .speech-button.sga-original-speaker-hidden,
.sga-growth-page .speech-button.sga-original-speaker-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  padding-right: 118px !important;
}

.sga-growth-page .sga-learning-speech-buttons {
  position: absolute !important;
  z-index: 12 !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  grid-template-columns: repeat(2, 36px) !important;
  gap: 7px !important;
  align-items: center !important;
  justify-content: end !important;
}

.sga-growth-page .sga-learning-speech-button {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(101, 75, 24, 0.48) !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: #261806 !important;
  background:
    radial-gradient(circle at 36% 22%, rgba(255, 255, 255, 0.72), transparent 30%),
    linear-gradient(180deg, #f8eab6 0%, #d9b65d 55%, #b98b2f 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 6px 12px rgba(36, 22, 4, 0.22) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
  text-align: center !important;
}

.sga-growth-page .sga-learning-speech-button.sga-learning-speech-en {
  background:
    radial-gradient(circle at 36% 22%, rgba(255, 255, 255, 0.74), transparent 30%),
    linear-gradient(180deg, #d8fff1 0%, #80dbc2 58%, #38a88e 100%) !important;
}

.sga-growth-page .sga-learning-speech-button.sga-learning-speech-ja,
.sga-growth-page .sga-learning-speech-button.sga-learning-speech-ko {
  background:
    radial-gradient(circle at 36% 22%, rgba(255, 255, 255, 0.74), transparent 30%),
    linear-gradient(180deg, #fff1c7 0%, #dfba5d 58%, #ad7f29 100%) !important;
}

.sga-growth-page .sga-learning-speech-button:active,
.sga-growth-page .sga-learning-speech-button.sga-speaking-now {
  transform: translateY(1px) scale(0.97) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.44),
    0 0 0 3px rgba(117, 255, 211, 0.16),
    0 0 18px rgba(117, 255, 211, 0.32) !important;
}

.sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide small b {
  display: inline-block !important;
  min-width: 52px !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    padding-right: 108px !important;
  }

  .sga-growth-page .sga-learning-speech-buttons {
    right: 16px !important;
    grid-template-columns: repeat(2, 34px) !important;
    gap: 6px !important;
  }

  .sga-growth-page .sga-learning-speech-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    padding-right: 100px !important;
  }

  .sga-growth-page .sga-learning-speech-buttons {
    right: 14px !important;
    grid-template-columns: repeat(2, 32px) !important;
    gap: 5px !important;
  }

  .sga-growth-page .sga-learning-speech-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    font-size: 13px !important;
  }
}


/* v105: two-line learning title and higher dual-language buttons */
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  padding-left: 52px !important;
  padding-right: 52px !important;
}

.sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
html.sga-lang-ja .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
body.sga-lang-ja.sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines {
  display: inline-grid !important;
  grid-template-rows: auto auto !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 1em !important;
  line-height: 1.08 !important;
  letter-spacing: -0.055em !important;
  white-space: normal !important;
  text-align: center !important;
  transform: translateY(2px) !important;
}

.sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-line,
html.sga-lang-ja .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-line,
body.sga-lang-ja.sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-line,
html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-line,
body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-line {
  display: block !important;
  font-size: 1em !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
  letter-spacing: inherit !important;
}

.sga-growth-page .sga-learning-speech-buttons {
  top: 43% !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    padding-left: 44px !important;
    padding-right: 44px !important;
  }

  .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  html.sga-lang-ja .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  body.sga-lang-ja.sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines {
    gap: 6px !important;
    font-size: 1em !important;
    letter-spacing: -0.06em !important;
  }

  .sga-growth-page .sga-learning-speech-buttons {
    top: 42% !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    padding-left: 38px !important;
    padding-right: 38px !important;
  }

  .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  html.sga-lang-ja .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  body.sga-lang-ja.sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  html[data-sga-lang="ja"] .sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines,
  body[data-sga-lang="ja"].sga-growth-page .rpg-english-board .english-board-title .sga-learning-title-lines {
    gap: 5px !important;
    font-size: .96em !important;
    letter-spacing: -0.065em !important;
  }

  .sga-growth-page .sga-learning-speech-buttons {
    top: 41.5% !important;
  }
}

/* v108: move dual learning buttons out of the sentence area */
.sga-growth-page .rpg-english-board.sga-dual-language-board {
  position: relative !important;
  overflow: visible !important;
  padding-top: 76px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  position: absolute !important;
  top: 16px !important;
  left: 18px !important;
  right: 104px !important;
  z-index: 11 !important;
  display: grid !important;
  place-items: center !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
  transform: none !important;
  gap: 5px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons {
  position: absolute !important;
  z-index: 14 !important;
  top: 16px !important;
  right: 18px !important;
  transform: none !important;
  grid-template-columns: repeat(2, 36px) !important;
  gap: 7px !important;
  align-items: center !important;
  justify-content: end !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board > strong {
  display: block !important;
  margin-top: 0 !important;
  clear: both !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board > em,
.sga-growth-page .rpg-english-board.sga-dual-language-board .sentence-guide-block {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board {
    padding-top: 74px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 15px !important;
    left: 15px !important;
    right: 94px !important;
    min-height: 44px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
    gap: 5px !important;
    letter-spacing: -0.065em !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons {
    top: 15px !important;
    right: 15px !important;
    grid-template-columns: repeat(2, 34px) !important;
    gap: 6px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board {
    padding-top: 72px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 14px !important;
    left: 13px !important;
    right: 84px !important;
    min-height: 42px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
    gap: 4px !important;
    font-size: 0.92em !important;
    letter-spacing: -0.075em !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons {
    top: 14px !important;
    right: 13px !important;
    grid-template-columns: repeat(2, 32px) !important;
    gap: 5px !important;
  }
}


/* v109: universal foreign-language title and inward dual-language buttons */
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  right: 126px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
  gap: 5px !important;
  line-height: 1.08 !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons {
  right: 34px !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    right: 116px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
    font-size: 0.94em !important;
    letter-spacing: -0.075em !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons {
    right: 30px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    right: 106px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
    font-size: 0.88em !important;
    letter-spacing: -0.085em !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons {
    right: 26px !important;
  }
}


/* v110: device-stable learning button layout for Galaxy A / S series and other Android widths */
.sga-growth-page .rpg-english-board.sga-dual-language-board {
  --sga-speech-size: clamp(32px, 8.7vw, 36px);
  --sga-speech-gap: clamp(5px, 1.5vw, 7px);
  --sga-speech-right: clamp(26px, 7vw, 38px);
  --sga-speech-top: clamp(14px, 3.7vw, 17px);
  --sga-speech-width: calc((var(--sga-speech-size) * 2) + var(--sga-speech-gap));
  --sga-title-left: clamp(13px, 4vw, 18px);
  --sga-title-right: calc(var(--sga-speech-right) + var(--sga-speech-width) + 14px);
  position: relative !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  padding-top: max(76px, calc(var(--sga-speech-top) + var(--sga-speech-size) + 26px)) !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  position: absolute !important;
  top: var(--sga-speech-top) !important;
  left: var(--sga-title-left) !important;
  right: var(--sga-title-right) !important;
  min-height: var(--sga-speech-size) !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 21 !important;
  display: grid !important;
  place-items: center !important;
  pointer-events: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  gap: clamp(4px, 1.2vw, 5px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  position: absolute !important;
  top: var(--sga-speech-top, clamp(14px, 3.7vw, 17px)) !important;
  right: var(--sga-speech-right, clamp(26px, 7vw, 38px)) !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 24 !important;
  display: grid !important;
  grid-template-columns: repeat(2, var(--sga-speech-size, clamp(32px, 8.7vw, 36px))) !important;
  grid-auto-rows: var(--sga-speech-size, clamp(32px, 8.7vw, 36px)) !important;
  gap: var(--sga-speech-gap, clamp(5px, 1.5vw, 7px)) !important;
  align-items: center !important;
  justify-content: end !important;
  width: max-content !important;
  height: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  transform: translate3d(0, 0, 0) !important;
  transform-origin: top right !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-button,
.sga-growth-page .sga-learning-speech-button {
  width: var(--sga-speech-size, clamp(32px, 8.7vw, 36px)) !important;
  height: var(--sga-speech-size, clamp(32px, 8.7vw, 36px)) !important;
  min-width: var(--sga-speech-size, clamp(32px, 8.7vw, 36px)) !important;
  min-height: var(--sga-speech-size, clamp(32px, 8.7vw, 36px)) !important;
  max-width: var(--sga-speech-size, clamp(32px, 8.7vw, 36px)) !important;
  max-height: var(--sga-speech-size, clamp(32px, 8.7vw, 36px)) !important;
  box-sizing: border-box !important;
  font-size: clamp(13px, 3.6vw, 15px) !important;
  line-height: 1 !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board > strong {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  margin-top: 0 !important;
  clear: both !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board > em,
.sga-growth-page .rpg-english-board.sga-dual-language-board .sentence-guide-block {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 380px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board {
    --sga-speech-right: 26px;
    --sga-speech-top: 14px;
    --sga-title-left: 13px;
    --sga-title-right: calc(var(--sga-speech-right) + var(--sga-speech-width) + 12px);
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines {
    font-size: 0.88em !important;
    letter-spacing: -0.085em !important;
  }
}

@media (min-width: 481px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board {
    --sga-speech-right: 38px;
    --sga-speech-top: 17px;
  }
}

/* v110: emergency public app-shell guard against WordPress theme/login/admin UI bleed-through */
body.sga-growth-page #wpadminbar,
body.sga-growth-page .wp-block-loginout,
body.sga-growth-page a[href*="wp-login.php"],
body.sga-growth-page a[href*="wp-admin"],
body.sga-growth-page form[action*="wp-login.php"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.sga-growth-page.sga-isolated-app-shell,
body.sga-growth-page.sga-isolated-app-shell html {
  margin: 0 !important;
  padding: 0 !important;
  background: #030806 !important;
  overflow-x: hidden !important;
}

/* v112: one-line centered travel title, language review board, and Morinonaka link */
.sga-growth-page .rpg-english-board.sga-dual-language-board {
  --sga-title-left: 0px !important;
  --sga-title-right: 0px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  padding: 0 96px 0 20px !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  justify-items: center !important;
  white-space: nowrap !important;
  letter-spacing: -0.045em !important;
  line-height: 1.06 !important;
  transform: none !important;
}

.sga-growth-page .sga-language-review-board {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "copy button"
    "count count" !important;
  align-items: center !important;
  gap: 10px 12px !important;
  min-height: 108px !important;
  margin: 0 !important;
  padding: 17px 18px !important;
  border-radius: 24px !important;
  color: #2b1a08 !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(255,255,255,.28), transparent 35%),
    linear-gradient(180deg, rgba(255, 239, 183, 0.98), rgba(205, 160, 72, 0.98)) !important;
  border: 1px solid rgba(99, 68, 21, 0.42) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 13px 22px rgba(48, 28, 5, 0.18) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.sga-growth-page .sga-language-review-copy {
  grid-area: copy !important;
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.sga-growth-page .sga-language-review-eyebrow {
  color: rgba(79, 53, 15, 0.78) !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.sga-growth-page .sga-language-review-title {
  color: #211407 !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  letter-spacing: -0.045em !important;
}

.sga-growth-page .sga-language-review-desc {
  color: rgba(66, 43, 15, 0.78) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 780 !important;
  word-break: keep-all !important;
}

.sga-growth-page .sga-language-review-open {
  grid-area: button !important;
  min-width: 112px !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(54, 89, 45, 0.52) !important;
  color: #102414 !important;
  background:
    radial-gradient(circle at 35% 15%, rgba(255,255,255,.64), transparent 32%),
    linear-gradient(180deg, #c9ffd5 0%, #82d394 55%, #3a9a55 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 8px 16px rgba(28, 66, 31, 0.2) !important;
  font: inherit !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  text-align: center !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}

.sga-growth-page .sga-language-review-open:active {
  transform: translateY(1px) scale(.99) !important;
}

.sga-growth-page .sga-language-review-count {
  grid-area: count !important;
  display: inline-grid !important;
  justify-self: start !important;
  min-height: 24px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  color: #294017 !important;
  background: rgba(234, 255, 219, .68) !important;
  border: 1px solid rgba(62, 112, 50, .25) !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
}

.sga-language-review-overlay {
  align-items: start !important;
  padding-top: 14px !important;
}

.sga-language-review-modal {
  width: min(560px, calc(100vw - 18px)) !important;
  max-height: calc(100vh - 24px) !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.sga-language-review-modal-summary {
  margin: 0 0 11px !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.sga-language-review-modal-summary strong {
  display: inline-grid !important;
  place-items: center !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  color: #f7e7ad !important;
  background: linear-gradient(180deg, #2a1a08, #5d3b0f) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

.sga-language-review-sections {
  display: grid !important;
  gap: 12px !important;
}

.sga-language-review-section {
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(104, 73, 23, 0.22) !important;
  background: rgba(255, 248, 224, 0.56) !important;
}

.sga-language-review-section h2 {
  margin: 0 !important;
  color: #2a1a08 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

.sga-language-review-row {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: start !important;
  padding: 10px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(110, 78, 28, 0.2) !important;
  background: rgba(255, 250, 233, 0.72) !important;
}

.sga-language-review-row input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  margin: 1px 0 0 !important;
  accent-color: #3a9a55 !important;
}

.sga-language-review-row-body {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.sga-language-review-row-body > strong {
  color: #1f1306 !important;
  font-size: 13px !important;
  line-height: 1.28 !important;
  font-weight: 950 !important;
  letter-spacing: -0.025em !important;
}

.sga-language-review-meta {
  display: grid !important;
  gap: 3px !important;
}

.sga-language-review-meta small {
  display: block !important;
  color: #5f411c !important;
  font-size: 10.4px !important;
  line-height: 1.35 !important;
  font-weight: 780 !important;
  word-break: keep-all !important;
}

.sga-language-review-meta small b {
  display: inline-block !important;
  min-width: 58px !important;
  color: #2c1b09 !important;
  font-weight: 950 !important;
}

.sga-language-review-sounds {
  display: grid !important;
  grid-template-columns: repeat(2, 32px) !important;
  gap: 5px !important;
}

.sga-language-review-sound-button {
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(101, 75, 24, 0.42) !important;
  color: #261806 !important;
  background: linear-gradient(180deg, #fff1c7, #d6a840) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.sga-language-review-sound-button.sga-speaking-now {
  box-shadow: 0 0 0 3px rgba(117, 255, 211, .16), 0 0 16px rgba(117, 255, 211, .34) !important;
}

.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 4px !important;
  min-height: 86px !important;
  padding: 14px 12px !important;
  border-radius: 24px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  color: #fff6dd !important;
  background: url(../../app-assets/ui/morinonaka-link-bg.png) center center / cover no-repeat !important;
  border: 1px solid rgba(176, 145, 72, 0.55) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 22px rgba(0,0,0,.22) !important;
}

.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(9, 18, 10, 0.14), rgba(9, 18, 10, 0.22)) !important;
  z-index: 0 !important;
}

.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link span,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link strong {
  position: relative !important;
  z-index: 1 !important;
}

.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link span {
  display: block !important;
  margin-bottom: 3px !important;
  color: rgba(255, 246, 221, 0.9) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: -0.015em !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35) !important;
}

.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link strong {
  display: block !important;
  color: #fff6dd !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  letter-spacing: -0.04em !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.42) !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    padding-left: 12px !important;
    padding-right: 88px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
    font-size: 1em !important;
    letter-spacing: -0.055em !important;
  }

  .sga-growth-page .sga-language-review-board {
    min-height: 102px !important;
    grid-template-columns: minmax(0, 1fr) 104px !important;
    gap: 9px 10px !important;
    padding: 15px 14px !important;
    border-radius: 22px !important;
  }

  .sga-growth-page .sga-language-review-title {
    font-size: 16px !important;
  }

  .sga-growth-page .sga-language-review-desc {
    font-size: 10.5px !important;
  }

  .sga-growth-page .sga-language-review-open {
    min-width: 104px !important;
    min-height: 48px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .sga-language-review-row {
    grid-template-columns: 26px minmax(0, 1fr) !important;
  }

  .sga-language-review-sounds {
    grid-column: 2 / -1 !important;
    justify-content: start !important;
  }

  .sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link {
    min-height: 70px !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    padding-right: 82px !important;
  }

  .sga-growth-page .sga-language-review-board {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "button"
      "count" !important;
  }

  .sga-growth-page .sga-language-review-open {
    width: 100% !important;
  }
}


/* v113: main phrase board shows English, Japanese, Korean, then pronunciation lines */
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: max(80px, calc(var(--sga-speech-top, 15px) + var(--sga-speech-size, 34px) + 30px)) !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > strong.sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > em.sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > div.sga-main-language-line {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  padding: 9px 11px !important;
  border-radius: 15px !important;
  box-sizing: border-box !important;
  font-style: normal !important;
  text-align: left !important;
  background: rgba(255, 248, 224, 0.58) !important;
  border: 1px solid rgba(104, 73, 23, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line.sga-main-language-en {
  background: rgba(234, 255, 247, 0.62) !important;
  border-color: rgba(50, 132, 103, 0.22) !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line.sga-main-language-ja {
  background: rgba(255, 245, 220, 0.68) !important;
  border-color: rgba(155, 111, 38, 0.22) !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line.sga-main-language-ko {
  background: rgba(239, 246, 255, 0.60) !important;
  border-color: rgba(65, 95, 160, 0.18) !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-language-label {
  display: inline-grid !important;
  place-items: center !important;
  min-height: 24px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  color: #f7e7ad !important;
  background: linear-gradient(180deg, #2a1a08, #5d3b0f) !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
  white-space: nowrap !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-language-text {
  min-width: 0 !important;
  color: #1f1306 !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide {
  display: grid !important;
  gap: 5px !important;
  margin-top: 8px !important;
  padding: 10px 11px !important;
  border-radius: 15px !important;
  background: rgba(255, 247, 221, 0.52) !important;
  border: 1px solid rgba(104, 73, 23, 0.16) !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide small {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 7px !important;
  color: #60431c !important;
  font-size: 10.8px !important;
  line-height: 1.36 !important;
  font-weight: 780 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide small b {
  min-width: 0 !important;
  color: #2c1b09 !important;
  font-size: 10.5px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > strong.sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > em.sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > div.sga-main-language-line {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 7px !important;
    padding: 8px 9px !important;
    margin-bottom: 6px !important;
  }

  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-language-label {
    min-height: 22px !important;
    padding: 0 6px !important;
    font-size: 9.8px !important;
  }

  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-language-text {
    font-size: 12.2px !important;
    line-height: 1.36 !important;
  }

  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide {
    padding: 9px !important;
  }

  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide small {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 6px !important;
    font-size: 10.2px !important;
  }

  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide small b {
    font-size: 10px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > strong.sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > em.sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > div.sga-main-language-line {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide small {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    font-size: 9.8px !important;
  }
}

/* v114: localized travel title, true center alignment, lower placement, and long-review support */
.sga-growth-page .rpg-english-board.sga-dual-language-board {
  padding-top: 112px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  top: 44px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  pointer-events: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: calc(100vw - 54px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  transform: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 15px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

.sga-language-review-modal {
  overscroll-behavior: contain !important;
}

.sga-language-review-sections {
  padding-bottom: 8px !important;
}

.sga-language-review-section[data-sga-long-list="1"] .sga-language-review-row:nth-of-type(n+18) {
  border-color: rgba(110, 78, 28, 0.16) !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board {
    padding-top: 108px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 42px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
    max-width: calc(100vw - 48px) !important;
    font-size: 1em !important;
    letter-spacing: -0.045em !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board {
    padding-top: 104px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 40px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
    font-size: .96em !important;
    letter-spacing: -0.055em !important;
  }
}


/* v115: language-specific pronunciation display and long external review bank */
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 118px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 0 86px !important;
  top: 42px !important;
  transform: none !important;
  pointer-events: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board .sga-main-pron-guide {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
}

.sga-language-review-more-notice {
  margin: 12px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px dashed rgba(120, 86, 38, 0.34) !important;
  background: rgba(255, 248, 220, 0.68) !important;
  color: #6e4f24 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 122px !important;
  }
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 40px !important;
    padding: 0 74px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 38px !important;
    padding: 0 68px !important;
  }
}

.sga-language-review-more-wrap {
  display: grid !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.sga-language-review-more-button {
  width: 100% !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 11px 14px !important;
  background: linear-gradient(180deg, #8f6328 0%, #5f3c18 100%) !important;
  color: #fff8dc !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(65, 40, 13, 0.22) !important;
}

.sga-language-review-more-button:active {
  transform: translateY(1px) !important;
}


/* v119: lower travel title/speech buttons, fixed review modal, stage tabs and checked filters */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 136px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  top: 58px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  padding: 0 92px 0 20px !important;
  justify-content: center !important;
  text-align: center !important;
  transform: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 58px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

.sga-language-review-overlay,
.sga-language-review-modal {
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

.sga-language-review-overlay {
  overflow-x: hidden !important;
}

.sga-language-review-modal {
  left: auto !important;
  right: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overscroll-behavior: contain !important;
}

.sga-language-review-toolbar {
  display: grid !important;
  gap: 9px !important;
  margin: 0 0 12px !important;
  padding: 10px !important;
  border-radius: 17px !important;
  background: rgba(255, 248, 224, .62) !important;
  border: 1px solid rgba(104, 73, 23, .22) !important;
}

.sga-language-review-stage-label {
  color: #5f411c !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}

.sga-language-review-tabs,
.sga-language-review-filter {
  display: flex !important;
  gap: 7px !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 2px !important;
}

.sga-language-review-tabs button,
.sga-language-review-filter button {
  flex: 0 0 auto !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(101, 75, 24, .32) !important;
  color: #2a1a08 !important;
  background: rgba(255, 250, 233, .82) !important;
  font: inherit !important;
  font-size: 11px !important;
  font-weight: 920 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.sga-language-review-tabs button.active,
.sga-language-review-filter button.active {
  color: #f7e7ad !important;
  background: linear-gradient(180deg, #2a1a08, #5d3b0f) !important;
  border-color: rgba(255, 220, 150, .36) !important;
}

.sga-language-review-section.active {
  display: grid !important;
}

.sga-language-review-empty {
  margin: 0 !important;
  padding: 16px 12px !important;
  border-radius: 14px !important;
  color: #6e4f24 !important;
  background: rgba(255, 250, 233, .78) !important;
  border: 1px dashed rgba(120, 86, 38, .34) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 850 !important;
  text-align: center !important;
}

.sga-language-review-row[data-sga-review-done="1"] {
  opacity: .82 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 136px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 56px !important;
    padding: 0 82px 0 14px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 56px !important;
  }

  .sga-language-review-tabs button,
  .sga-language-review-filter button {
    min-height: 32px !important;
    padding: 0 10px !important;
    font-size: 10.5px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 54px !important;
    padding: 0 76px 0 12px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 54px !important;
  }
}


/* v122: image backgrounds for both bottom link buttons */
.sga-growth-page .rpg-bottom-link-area .cafe-main-link,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 4px !important;
  min-height: 86px !important;
  padding: 14px 12px !important;
  border-radius: 24px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  color: #fff6dd !important;
  border: 1px solid rgba(176, 145, 72, 0.55) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 22px rgba(0,0,0,.22) !important;
}

.sga-growth-page .rpg-bottom-link-area .cafe-main-link {
  background: url(../../app-assets/ui/youth-cafe-link-bg.png) center center / cover no-repeat !important;
}

.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link {
  background: url(../../app-assets/ui/morinonaka-link-bg.png) center center / cover no-repeat !important;
}

.sga-growth-page .rpg-bottom-link-area .cafe-main-link::before,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(9, 18, 10, 0.13), rgba(9, 18, 10, 0.24)) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.sga-growth-page .rpg-bottom-link-area .cafe-main-link span,
.sga-growth-page .rpg-bottom-link-area .cafe-main-link strong,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link span,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link strong {
  position: relative !important;
  z-index: 1 !important;
  color: #fff6dd !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.46), 0 0 8px rgba(0,0,0,.18) !important;
}

.sga-growth-page .rpg-bottom-link-area .cafe-main-link span,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link span {
  display: block !important;
  margin-bottom: 3px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: -0.015em !important;
  opacity: .92 !important;
}

.sga-growth-page .rpg-bottom-link-area .cafe-main-link strong,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link strong {
  display: block !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  letter-spacing: -0.04em !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-bottom-link-area .cafe-main-link,
  .sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link {
    min-height: 82px !important;
    padding: 12px 10px !important;
    background-position: center center !important;
  }
  .sga-growth-page .rpg-bottom-link-area .cafe-main-link strong,
  .sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link strong {
    font-size: 13px !important;
    letter-spacing: -0.055em !important;
  }
  .sga-growth-page .rpg-bottom-link-area .cafe-main-link span,
  .sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link span {
    font-size: 10px !important;
  }
}



/* v123: centered travel title, lower speech buttons, safer review modal, cleaner link frames */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 176px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  top: 68px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 96px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  transform: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  display: block !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 98px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

.sga-language-review-modal {
  position: relative !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

.sga-language-review-close-x {
  position: sticky !important;
  top: 8px !important;
  margin-left: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(103, 74, 23, 0.34) !important;
  background: rgba(255, 250, 233, 0.92) !important;
  color: #2a1a08 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  z-index: 6 !important;
}

.sga-language-review-actions {
  position: sticky !important;
  bottom: 0 !important;
  background: linear-gradient(180deg, rgba(248, 241, 217, 0), rgba(248, 241, 217, 0.96) 22%, rgba(248, 241, 217, 0.98) 100%) !important;
  padding-top: 10px !important;
}

.sga-language-review-sections,
.sga-language-review-section,
.sga-language-review-row,
.sga-language-review-row-body,
.sga-language-review-meta {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.sga-language-review-row {
  grid-template-columns: 28px minmax(0, 1fr) 69px !important;
  overflow: hidden !important;
}

.sga-language-review-row-body > strong,
.sga-language-review-meta small {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.sga-language-review-meta small b {
  min-width: 52px !important;
}

.sga-language-review-sounds {
  align-self: start !important;
}

.sga-growth-page .rpg-bottom-link-area .cafe-main-link,
.sga-growth-page .rpg-bottom-link-area .sga-morinonaka-link {
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 170px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 72px !important;
    padding: 0 88px 0 18px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
    font-size: clamp(18px, 5.8vw, 24px) !important;
    line-height: 1.18 !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 104px !important;
    right: 22px !important;
  }

  .sga-language-review-row {
    grid-template-columns: 24px minmax(0, 1fr) !important;
  }

  .sga-language-review-sounds {
    grid-column: 2 / -1 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin-top: 2px !important;
  }
}


/* v125: weapon title and lower speech buttons without title overlap */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 206px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  top: 74px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 22px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  transform: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  display: block !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: clamp(20px, 5.4vw, 26px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.055em !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 126px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 206px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 76px !important;
    padding: 0 18px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
    font-size: clamp(18px, 5.7vw, 24px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.06em !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 134px !important;
    right: 22px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
    font-size: 17px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 132px !important;
    right: 18px !important;
  }
}


/* v126: lower speech buttons further and clean bilingual install screen */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 226px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 154px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

.sga-original-speaker-hidden {
  pointer-events: none !important;
}

.sga-install-card h1,
.sga-install-card h2,
.sga-install-card .sga-install-lead,
.sga-install-card .sga-install-note,
.sga-install-card .sga-install-primary {
  text-align: center !important;
}

.sga-install-card [data-sga-install-line] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}

.sga-install-card h1 [data-sga-install-line="ko"] {
  font-size: clamp(25px, 7vw, 36px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.055em !important;
}

.sga-install-card h1 [data-sga-install-line="en"],
.sga-install-card h2 [data-sga-install-line="en"],
.sga-install-card .sga-install-primary [data-sga-install-line="en"] {
  margin-top: 6px !important;
  font-size: 0.72em !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  opacity: .82 !important;
}

.sga-install-card .sga-install-lead,
.sga-install-card .sga-install-note {
  display: grid !important;
  gap: 7px !important;
  line-height: 1.42 !important;
}

.sga-install-card .sga-install-lead [data-sga-install-line="en"],
.sga-install-card .sga-install-note [data-sga-install-line="en"] {
  font-size: 0.88em !important;
  opacity: .8 !important;
}

.sga-install-card .sga-install-primary {
  display: grid !important;
  place-items: center !important;
  gap: 2px !important;
  min-height: 58px !important;
  line-height: 1.12 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 226px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 162px !important;
    right: 22px !important;
  }

  .sga-install-card h1 [data-sga-install-line="ko"] {
    font-size: clamp(23px, 7.4vw, 31px) !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 160px !important;
    right: 18px !important;
  }
}


/* v127: remove excessive blank space below language speaker buttons */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 178px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 128px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board > strong,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > strong {
  margin-top: 0 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 182px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 134px !important;
    right: 22px !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 178px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 132px !important;
    right: 18px !important;
  }
}


/* v128: restore compact language board spacing and trilingual install text */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 170px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 124px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .speech-button.sga-original-speaker-hidden,
.sga-growth-page .speech-button.sga-original-speaker-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

.sga-install-card [data-sga-install-line="en"],
.sga-install-card [data-sga-install-line="ja"] {
  margin-top: 5px !important;
  font-size: 0.72em !important;
  line-height: 1.18 !important;
  opacity: .82 !important;
}

.sga-install-card .sga-install-lead [data-sga-install-line="en"],
.sga-install-card .sga-install-lead [data-sga-install-line="ja"],
.sga-install-card .sga-install-note [data-sga-install-line="en"],
.sga-install-card .sga-install-note [data-sga-install-line="ja"] {
  font-size: 0.88em !important;
  line-height: 1.38 !important;
  opacity: .78 !important;
}

.sga-install-card .sga-install-primary [data-sga-install-line="en"],
.sga-install-card .sga-install-primary [data-sga-install-line="ja"] {
  font-size: 0.72em !important;
  line-height: 1.12 !important;
  opacity: .86 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 172px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 126px !important;
    right: 22px !important;
  }
}


/* v129: main language speaker isolation, compact spacing, and Japanese install overflow fix */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 152px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
  top: 110px !important;
  right: clamp(24px, 7vw, 36px) !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .speech-button:not(.sga-learning-speech-button),
.sga-growth-page .speech-button.sga-original-speaker-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

.sga-install-card,
.sga-install-card * {
  box-sizing: border-box !important;
}

.sga-install-card [data-sga-install-line] {
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
  text-wrap: balance !important;
}

.sga-install-card [data-sga-install-line="ja"] {
  font-size: 0.66em !important;
  line-height: 1.18 !important;
  letter-spacing: -0.035em !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.sga-install-card .sga-install-lead [data-sga-install-line="ja"],
.sga-install-card .sga-install-note [data-sga-install-line="ja"] {
  font-size: 0.76em !important;
  line-height: 1.32 !important;
  letter-spacing: -0.025em !important;
  opacity: .78 !important;
}

.sga-install-card .sga-install-primary [data-sga-install-line="ja"] {
  font-size: 0.64em !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 154px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
  .sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
  .sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"] {
    top: 112px !important;
    right: 22px !important;
  }

  .sga-install-card [data-sga-install-line="ja"] {
    font-size: 0.62em !important;
    line-height: 1.16 !important;
  }

  .sga-install-card .sga-install-lead [data-sga-install-line="ja"],
  .sga-install-card .sga-install-note [data-sga-install-line="ja"] {
    font-size: 0.72em !important;
    line-height: 1.28 !important;
  }
}


/* v130: use review-style centered main speakers and lock review rows */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  padding-top: 128px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-learning-speech-buttons,
.sga-growth-page .sga-learning-speech-buttons[data-sga-learning-ui="1"],
.sga-growth-page .sga-learning-speech-buttons[data-sga-stable-position="v110"],
.sga-growth-page .sga-learning-speech-button {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds,
.sga-growth-page .sga-main-review-sounds {
  position: absolute !important;
  top: 90px !important;
  left: 50% !important;
  right: auto !important;
  z-index: 28 !important;
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  width: max-content !important;
  max-width: calc(100% - 36px) !important;
  height: auto !important;
  transform: translateX(-50%) !important;
  pointer-events: auto !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sound-button,
.sga-growth-page .sga-main-review-sound-button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 999px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.sga-language-review-row {
  cursor: default !important;
}

.sga-language-review-row-body {
  cursor: text !important;
  user-select: text !important;
}

.sga-language-review-row input[type="checkbox"] {
  cursor: pointer !important;
}

.sga-language-review-row .sga-language-review-sound-button {
  cursor: pointer !important;
}

.sga-install-card {
  overflow: hidden !important;
}

.sga-install-card [data-sga-install-line="ja"] {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-all !important;
  line-break: anywhere !important;
  font-size: 0.58em !important;
  line-height: 1.15 !important;
  letter-spacing: -0.045em !important;
}

.sga-install-card .sga-install-lead [data-sga-install-line="ja"],
.sga-install-card .sga-install-note [data-sga-install-line="ja"] {
  font-size: 0.66em !important;
  line-height: 1.25 !important;
}

.sga-install-card .sga-install-primary [data-sga-install-line="ja"] {
  font-size: 0.58em !important;
  line-height: 1.08 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 126px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds,
  .sga-growth-page .sga-main-review-sounds {
    top: 88px !important;
    gap: 7px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sound-button,
  .sga-growth-page .sga-main-review-sound-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    font-size: 10.5px !important;
  }

  .sga-install-card [data-sga-install-line="ja"] {
    font-size: 0.54em !important;
    line-height: 1.13 !important;
  }

  .sga-install-card .sga-install-lead [data-sga-install-line="ja"],
  .sga-install-card .sga-install-note [data-sga-install-line="ja"] {
    font-size: 0.62em !important;
    line-height: 1.22 !important;
  }
}


/* v132: final natural text/box layout cleanup */
.sga-growth-page .rpg-english-board.sga-dual-language-board,
.sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
  position: relative !important;
  overflow: visible !important;
  padding: 100px 16px 16px !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  position: absolute !important;
  top: 25px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  min-height: 30px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  transform: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
  display: block !important;
  width: 100% !important;
  max-width: calc(100vw - 54px) !important;
  margin: 0 auto !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  font-size: clamp(19px, 5.5vw, 25px) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.055em !important;
}

.sga-growth-page .rpg-english-board .speech-button:not(.sga-language-review-sound-button):not(.sga-main-review-sound-button),
.sga-growth-page .rpg-english-board .english-board-title .speech-button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds,
.sga-growth-page .sga-main-review-sounds {
  position: absolute !important;
  top: 61px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 30 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 7px !important;
  width: max-content !important;
  max-width: calc(100% - 36px) !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sound-button,
.sga-growth-page .sga-main-review-sound-button {
  width: 33px !important;
  height: 33px !important;
  min-width: 33px !important;
  min-height: 33px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > strong.sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > em.sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > div.sga-main-language-line {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 7px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 6px !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  font-style: normal !important;
  background: rgba(255, 248, 224, 0.55) !important;
  border: 1px solid rgba(104, 73, 23, 0.16) !important;
}

.sga-growth-page .sga-main-language-label {
  min-width: 0 !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  font-weight: 950 !important;
  opacity: .82 !important;
  white-space: nowrap !important;
}

.sga-growth-page .sga-main-language-text {
  min-width: 0 !important;
  font-size: 13px !important;
  line-height: 1.34 !important;
  font-weight: 860 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.sga-growth-page .rpg-english-board .sentence-guide-block.sga-main-pron-guide,
.sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide {
  margin-top: 7px !important;
  padding: 10px 11px !important;
  gap: 5px !important;
  border-radius: 14px !important;
}

.sga-growth-page .rpg-english-board .sentence-guide-block.sga-main-pron-guide small,
.sga-growth-page .rpg-english-board .sentence-guide-block.sga-level-english-guide small {
  font-size: 10.3px !important;
  line-height: 1.36 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.sga-growth-page .sga-language-review-board {
  min-height: auto !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px 10px !important;
  padding: 15px 15px !important;
  border-radius: 22px !important;
}

.sga-growth-page .sga-language-review-title {
  font-size: 16px !important;
  line-height: 1.18 !important;
}

.sga-growth-page .sga-language-review-desc {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.sga-growth-page .sga-language-review-open {
  min-width: 98px !important;
  min-height: 46px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
  line-height: 1.16 !important;
}

.sga-language-review-modal {
  width: min(560px, calc(100vw - 18px)) !important;
  overflow-x: hidden !important;
}

.sga-language-review-row {
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  gap: 7px !important;
  padding: 9px !important;
  overflow: hidden !important;
  cursor: default !important;
}

.sga-language-review-row-body,
.sga-language-review-meta,
.sga-language-review-row-body > strong,
.sga-language-review-meta small {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.sga-language-review-row-body {
  user-select: text !important;
  cursor: text !important;
}

.sga-language-review-row input[type="checkbox"],
.sga-language-review-row .sga-language-review-sound-button {
  cursor: pointer !important;
}

.sga-install-card {
  width: min(430px, calc(100vw - 18px)) !important;
  max-width: calc(100vw - 18px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.sga-install-card h1,
.sga-install-card h2,
.sga-install-card .sga-install-lead,
.sga-install-card .sga-install-note,
.sga-install-card .sga-install-primary {
  text-align: center !important;
}

.sga-install-card [data-sga-install-line] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

.sga-install-card [data-sga-install-line="en"],
.sga-install-card [data-sga-install-line="ja"] {
  margin-top: 4px !important;
  font-size: 0.72em !important;
  line-height: 1.22 !important;
  letter-spacing: -0.012em !important;
  opacity: .82 !important;
}

.sga-install-card .sga-install-lead,
.sga-install-card .sga-install-note {
  display: grid !important;
  gap: 6px !important;
  line-height: 1.38 !important;
}

.sga-install-card .sga-install-primary {
  display: grid !important;
  place-items: center !important;
  gap: 2px !important;
  min-height: 58px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.sga-onboarding-grid {
  align-items: start !important;
}

.sga-onboarding-field span,
.sga-onboarding-field input,
.sga-onboarding-field select {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding: 98px 14px 15px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
    top: 23px !important;
    padding: 0 14px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds,
  .sga-growth-page .sga-main-review-sounds {
    top: 59px !important;
  }

  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > strong.sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > em.sga-main-language-line,
  .sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > div.sga-main-language-line {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 6px !important;
    padding: 8px 9px !important;
    margin-bottom: 5px !important;
  }

  .sga-growth-page .sga-main-language-text {
    font-size: 12.5px !important;
    line-height: 1.32 !important;
  }

  .sga-language-review-row {
    grid-template-columns: 24px minmax(0, 1fr) !important;
  }

  .sga-language-review-sounds {
    grid-column: 2 / -1 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin-top: 2px !important;
  }

  .sga-growth-page .sga-language-review-board {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "button"
      "count" !important;
  }

  .sga-growth-page .sga-language-review-open {
    width: 100% !important;
    min-height: 44px !important;
  }

  .sga-install-card {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .sga-install-card [data-sga-install-line="en"],
  .sga-install-card [data-sga-install-line="ja"] {
    font-size: 0.70em !important;
    line-height: 1.22 !important;
  }
}

@media (max-width: 360px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board,
  .sga-growth-page .rpg-english-board.sga-dual-language-board.sga-trilingual-phrase-board {
    padding-top: 96px !important;
  }

  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title > span,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-lines,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title .sga-learning-title-line {
    font-size: 17px !important;
  }

  .sga-install-card [data-sga-install-line="en"],
  .sga-install-card [data-sga-install-line="ja"] {
    font-size: 0.66em !important;
  }
}


/* v133: natural card/speaker layout and restored background asset hooks */
.sga-growth-page .rpg-english-board.sga-dual-language-board {
  padding-top: 118px !important;
}
.sga-growth-page .rpg-english-board.sga-dual-language-board .english-board-title {
  top: 18px !important;
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  text-align: center !important;
}
.sga-growth-page .sga-main-review-sounds,
.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds {
  position: absolute !important;
  top: 66px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 30 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 34px) !important;
  gap: 8px !important;
  width: max-content !important;
  justify-content: center !important;
  pointer-events: auto !important;
}
.sga-growth-page .sga-main-review-sound-button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > .sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > strong.sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > em.sga-main-language-line,
.sga-growth-page .rpg-english-board.sga-trilingual-phrase-board > div.sga-main-language-line {
  grid-template-columns: 50px minmax(0, 1fr) !important;
  gap: 7px !important;
  padding: 8px 10px !important;
  margin-bottom: 6px !important;
  line-height: 1.32 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}
.sga-language-review-row,
.sga-language-review-row * {
  overflow-wrap: anywhere !important;
}
.sga-language-review-row-body,
.sga-language-review-row-body > strong,
.sga-language-review-meta small {
  pointer-events: none !important;
}
.sga-language-review-row input[type="checkbox"],
.sga-language-review-sound-button {
  pointer-events: auto !important;
}
body.sga-growth-page,
body.sga-app-shell,
body.sga-isolated-app-shell {
  background-image:
    linear-gradient(180deg, rgba(4, 5, 5, 0.18), rgba(4, 5, 5, 0.72)),
    url("../../app-assets/launch/record-rpg-style-v28.png"),
    linear-gradient(180deg, #0c1413 0%, #070908 100%) !important;
  background-size: cover, cover, auto !important;
  background-position: center top, center top, center !important;
  background-attachment: fixed, fixed, scroll !important;
}
@media (min-width: 768px) {
  body.sga-growth-page,
  body.sga-app-shell,
  body.sga-isolated-app-shell {
    background-image:
      linear-gradient(180deg, rgba(7, 9, 10, 0.16), rgba(7, 9, 10, 0.64)),
      url("../../app-assets/backgrounds/pc-fantasy-arena-v40.png"),
      linear-gradient(180deg, #0c1413 0%, #070908 100%) !important;
    background-size: cover, cover, auto !important;
    background-position: center center, center center, center !important;
    background-attachment: fixed, fixed, scroll !important;
  }
}
.language-gate-bg,
.gate-hero-image {
  background-image: url("../../app-assets/launch/soccer-growth-adventure-gate-v20.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}
.gate-hero-image {
  background-position: center 56% !important;
}
@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board {
    padding-top: 116px !important;
  }
  .sga-growth-page .sga-main-review-sounds,
  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds {
    top: 64px !important;
    grid-template-columns: repeat(2, 32px) !important;
    gap: 7px !important;
  }
  .sga-growth-page .sga-main-review-sound-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    font-size: 11px !important;
  }
}

/* v135: emergency layout restore after app.css split / missing-base issue */
html.sga-layout-v135,
body.sga-layout-v135,
body.sga-growth-page,
body.sga-app-shell,
body.sga-isolated-app-shell {
  min-width: 320px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  color: #fff7df !important;
  background:
    linear-gradient(180deg, rgba(4, 5, 5, 0.18), rgba(4, 5, 5, 0.72)),
    url("../../app-assets/launch/record-rpg-style-v28.png"),
    linear-gradient(180deg, #0c1413 0%, #070908 100%) !important;
  background-size: cover, cover, auto !important;
  background-position: center top, center top, center !important;
  background-attachment: fixed, fixed, scroll !important;
}

@media (min-width: 768px) {
  body.sga-growth-page,
  body.sga-app-shell,
  body.sga-isolated-app-shell {
    background:
      linear-gradient(180deg, rgba(7, 9, 10, 0.16), rgba(7, 9, 10, 0.64)),
      url("../../app-assets/backgrounds/pc-fantasy-arena-v40.png"),
      linear-gradient(180deg, #0c1413 0%, #070908 100%) !important;
    background-size: cover, cover, auto !important;
    background-position: center center, center center, center !important;
    background-attachment: fixed, fixed, scroll !important;
  }
}

body.sga-growth-page #page,
body.sga-growth-page .site,
body.sga-growth-page .site-content,
body.sga-growth-page .entry-content,
body.sga-growth-page main,
body.sga-growth-page article,
body.sga-growth-page .sga-shortcode-wrap,
body.sga-growth-page .sga-react-root {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.sga-growth-page .entry-title,
body.sga-growth-page .post-thumbnail,
body.sga-growth-page .site-header,
body.sga-growth-page .site-footer,
body.sga-growth-page .comments-area,
body.sga-growth-page .wp-block-post-title {
  display: none !important;
}

.app-shell,
.record-rpg-shell,
.fantasy-board-shell,
body.sga-growth-page .app-shell,
body.sga-growth-page .record-rpg-shell,
body.sga-growth-page .fantasy-board-shell {
  width: 430px !important;
  max-width: calc(100vw - 14px) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 10px 0 28px !important;
  overflow-x: visible !important;
  box-sizing: border-box !important;
}

.rpg-record-board,
body.sga-growth-page .rpg-record-board {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.rpg-record-board > *,
body.sga-growth-page .rpg-record-board > * {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.language-gate-shell,
body.sga-growth-page .language-gate-shell {
  width: 100% !important;
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  position: relative !important;
  overflow: hidden !important;
}

.language-gate-bg,
.gate-hero-image {
  background-image: url("../../app-assets/launch/soccer-growth-adventure-gate-v20.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* Install screen: restore visible card, readable text, and centered button */
.sga-install-shell,
body.sga-growth-page .sga-install-shell {
  position: relative !important;
  isolation: isolate !important;
  width: 100% !important;
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px 14px 26px !important;
  color: #fff7df !important;
  background:
    linear-gradient(180deg, rgba(2, 8, 8, 0.48), rgba(2, 8, 8, 0.72)),
    url("../../app-assets/launch/soccer-growth-adventure-gate-v20.png") center center / cover no-repeat,
    linear-gradient(180deg, #091712, #030705) !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

.sga-install-shell::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(241, 217, 139, .20), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.24), rgba(0,0,0,.38)) !important;
}

.sga-install-card,
body.sga-growth-page .sga-install-card {
  position: relative !important;
  z-index: 1 !important;
  width: min(430px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 28px 20px 24px !important;
  border-radius: 28px !important;
  text-align: center !important;
  color: #2b1a08 !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.34), transparent 36%),
    linear-gradient(180deg, rgba(255, 241, 196, .98), rgba(212, 174, 86, .98)) !important;
  border: 2px solid rgba(112, 78, 24, .55) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.36) !important;
  box-sizing: border-box !important;
}

.sga-install-eyebrow,
.sga-install-card h1,
.sga-install-card h2,
.sga-install-card .sga-install-lead,
.sga-install-card .sga-install-note,
.sga-install-card .sga-install-status,
.sga-install-card .sga-install-primary {
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-align: center !important;
  text-shadow: none !important;
}

.sga-install-eyebrow {
  margin: 0 0 10px !important;
  color: #6d5220 !important;
  font-size: 10px !important;
  letter-spacing: .13em !important;
  font-weight: 950 !important;
}

.sga-install-card h1 {
  margin: 0 !important;
  color: #211407 !important;
  font-size: clamp(24px, 7vw, 34px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.055em !important;
  font-weight: 950 !important;
}

.sga-install-card h2 {
  margin: 16px 0 0 !important;
  color: #33210c !important;
  font-size: clamp(18px, 5.2vw, 24px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.05em !important;
  font-weight: 950 !important;
}

.sga-install-lead,
.sga-install-note,
.sga-install-status {
  display: grid !important;
  gap: 7px !important;
  color: #4d3516 !important;
  white-space: normal !important;
  line-height: 1.5 !important;
  font-weight: 760 !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}

.sga-install-lead {
  margin: 18px 0 0 !important;
  font-size: 13px !important;
}

.sga-install-note {
  margin: 18px 0 0 !important;
  font-size: 12px !important;
}

.sga-install-status {
  margin: 18px 0 0 !important;
  padding: 12px 12px !important;
  border-radius: 16px !important;
  background: rgba(255, 248, 224, .78) !important;
  border: 1px solid rgba(104, 73, 23, .22) !important;
  color: #4d3516 !important;
  font-size: 11.5px !important;
}

.sga-install-primary,
body.sga-growth-page .sga-install-primary {
  display: grid !important;
  place-items: center !important;
  gap: 3px !important;
  width: min(100%, 300px) !important;
  min-height: 58px !important;
  margin: 22px auto 0 !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(86, 58, 18, .55) !important;
  color: #291907 !important;
  background: linear-gradient(180deg, #fff0b8, #d3a64a) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 10px 18px rgba(0,0,0,.20) !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.sga-install-card [data-sga-install-line] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  color: inherit !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: keep-all !important;
}

.sga-install-card [data-sga-install-line="en"] {
  margin-top: 6px !important;
  font-size: .72em !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  opacity: .78 !important;
}

.sga-install-card [data-sga-install-line="ja"] {
  margin-top: 5px !important;
  font-size: .66em !important;
  line-height: 1.18 !important;
  letter-spacing: -0.035em !important;
  opacity: .78 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.sga-install-card .sga-install-primary [data-sga-install-line="en"],
.sga-install-card .sga-install-primary [data-sga-install-line="ja"] {
  font-size: .72em !important;
  opacity: .86 !important;
}

@media (max-width: 430px) {
  .sga-install-card {
    padding: 24px 16px 20px !important;
  }
  .sga-install-lead {
    font-size: 12.2px !important;
  }
  .sga-install-note,
  .sga-install-status {
    font-size: 11px !important;
  }
}


/* v137.3: install JA same as EN + restore review readability without breaking rows */
.sga-install-card [data-sga-install-line="ja"] {
  margin-top: 6px !important;
  font-size: .72em !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  opacity: .78 !important;
  overflow-wrap: break-word !important;
  word-break: keep-all !important;
}

.sga-install-card .sga-install-lead [data-sga-install-line="ja"],
.sga-install-card .sga-install-note [data-sga-install-line="ja"] {
  font-size: 0.88em !important;
  line-height: 1.38 !important;
  letter-spacing: 0 !important;
  opacity: .78 !important;
  overflow-wrap: break-word !important;
  word-break: keep-all !important;
}

.sga-install-card .sga-install-primary [data-sga-install-line="ja"] {
  font-size: .72em !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  opacity: .86 !important;
}

@media (max-width: 430px) {
  .sga-install-card [data-sga-install-line="en"],
  .sga-install-card [data-sga-install-line="ja"] {
    font-size: .70em !important;
    line-height: 1.22 !important;
  }
  .sga-install-card .sga-install-lead [data-sga-install-line="ja"],
  .sga-install-card .sga-install-note [data-sga-install-line="ja"] {
    font-size: 0.86em !important;
    line-height: 1.34 !important;
  }
}

/* Main "foreign language weapon" speaker: keep it right, but not touching the phrase rows */
.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds,
.sga-growth-page .sga-main-review-sounds {
  position: absolute !important;
  top: 56px !important;
  right: 22px !important;
  left: auto !important;
  transform: none !important;
  z-index: 32 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 34px) !important;
  gap: 7px !important;
  width: max-content !important;
  max-width: calc(100% - 44px) !important;
  justify-content: end !important;
  align-items: center !important;
  pointer-events: auto !important;
}

.sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sound-button,
.sga-growth-page .sga-main-review-sound-button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
}

/* Language review card on main screen: title bigger, original content flow preserved */
.sga-growth-page .sga-language-review-title {
  font-size: clamp(18px, 5.1vw, 23px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.045em !important;
}

/* Modal: only title area is centered. The toolbar, sections, rows, and text stay in the stable old layout. */
.sga-language-review-overlay {
  align-items: start !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.sga-language-review-modal {
  position: relative !important;
  width: min(560px, calc(100vw - 18px)) !important;
  max-height: calc(100dvh - 24px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  text-align: left !important;
  padding-top: 30px !important;
}

.sga-language-review-modal > .sga-onboarding-eyebrow,
.sga-language-review-modal > h1,
.sga-language-review-modal > .sga-onboarding-desc {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sga-language-review-modal > .sga-onboarding-eyebrow {
  padding-left: 44px !important;
  padding-right: 44px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

.sga-language-review-modal > h1 {
  padding-left: 44px !important;
  padding-right: 44px !important;
  font-size: clamp(25px, 7.4vw, 32px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.06em !important;
}

.sga-language-review-modal > .sga-onboarding-desc {
  max-width: 31em !important;
  font-size: 12.5px !important;
  line-height: 1.48 !important;
}

.sga-language-review-close-x {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(103, 74, 23, 0.44) !important;
  background: rgba(255, 250, 233, 0.96) !important;
  color: #2a1a08 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  box-shadow: 0 5px 12px rgba(65, 40, 13, 0.16), inset 0 1px 0 rgba(255,255,255,.42) !important;
  z-index: 20 !important;
}

.sga-language-review-toolbar,
.sga-language-review-tabs,
.sga-language-review-filter,
.sga-language-review-section,
.sga-language-review-section h2,
.sga-language-review-row,
.sga-language-review-row-body,
.sga-language-review-meta,
.sga-language-review-row-body > strong,
.sga-language-review-meta small {
  text-align: left !important;
}

.sga-language-review-row {
  grid-template-columns: 28px minmax(0, 1fr) 69px !important;
  align-items: start !important;
  overflow: hidden !important;
}

.sga-language-review-row-body {
  justify-items: stretch !important;
  align-items: stretch !important;
}

.sga-language-review-row-body > strong {
  font-size: 13.8px !important;
  line-height: 1.36 !important;
  letter-spacing: -0.025em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.sga-language-review-meta {
  gap: 3px !important;
  justify-items: stretch !important;
}

.sga-language-review-meta small {
  font-size: 10.8px !important;
  line-height: 1.38 !important;
  letter-spacing: -0.02em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.sga-language-review-meta small b {
  min-width: 54px !important;
  margin-right: 2px !important;
}

.sga-language-review-sounds {
  justify-content: start !important;
  align-self: start !important;
}

.sga-language-growth-dashboard {
  text-align: left !important;
}

.sga-language-growth-top {
  align-items: center !important;
}

.sga-language-growth-badges span {
  display: grid !important;
  gap: 2px !important;
  align-content: center !important;
}

.sga-language-growth-badges span b {
  display: block !important;
  font-size: 11.2px !important;
  line-height: 1.16 !important;
  font-weight: 950 !important;
}

.sga-language-growth-badges span small {
  display: block !important;
  font-size: 9.2px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  opacity: .82 !important;
}

.sga-language-growth-help {
  margin: 7px 0 0 !important;
  padding: 7px 9px !important;
  border-radius: 12px !important;
  color: #385114 !important;
  background: rgba(233, 255, 213, .62) !important;
  border: 1px solid rgba(77, 139, 86, .22) !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sounds,
  .sga-growth-page .sga-main-review-sounds {
    top: 55px !important;
    right: 18px !important;
    grid-template-columns: repeat(2, 32px) !important;
    gap: 6px !important;
  }
  .sga-growth-page .rpg-english-board.sga-dual-language-board .sga-main-review-sound-button,
  .sga-growth-page .sga-main-review-sound-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
  .sga-language-review-modal > h1 {
    font-size: clamp(24px, 7.8vw, 30px) !important;
  }
  .sga-language-review-row {
    grid-template-columns: 26px minmax(0, 1fr) !important;
  }
  .sga-language-review-sounds {
    grid-column: 2 / -1 !important;
    justify-content: start !important;
    margin-top: 4px !important;
  }
}

@media (max-width: 360px) {
  .sga-language-review-row-body > strong {
    font-size: 13.2px !important;
  }
  .sga-language-review-meta small {
    font-size: 10.4px !important;
  }
}


/* v137.4: RPG-grade language titles, readiness emphasis, and ordinary button swoosh feedback */
.sga-growth-page .rpg-exp-meter {
  margin-top: 16px !important;
  padding: 14px 14px 15px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 238, 160, .44), transparent 42%),
    linear-gradient(180deg, rgba(46, 30, 9, .18), rgba(92, 64, 18, .13)) !important;
  border: 1px solid rgba(120, 79, 20, .34) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 10px 18px rgba(66, 40, 10, .13) !important;
}

.sga-growth-page .rpg-exp-meter > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 32px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  color: #2a1807 !important;
  background: linear-gradient(180deg, #fff4bf, #ddb955) !important;
  border: 1px solid rgba(105, 68, 16, .36) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 6px 12px rgba(66, 40, 10, .14) !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

.sga-growth-page .rpg-exp-meter > span::before {
  content: "⭐";
  font-size: 16px;
  line-height: 1;
}

.sga-growth-page .rpg-exp-meter .exp-bar,
.sga-growth-page .exp-bar {
  height: 17px !important;
  margin-top: 11px !important;
  border-radius: 999px !important;
  border-color: rgba(82, 55, 17, .38) !important;
  background: rgba(54, 36, 12, .2) !important;
}

.sga-growth-page .rpg-exp-meter .exp-bar div,
.sga-growth-page .exp-bar div {
  background: linear-gradient(90deg, #54e3ae, #f0d35c, #ffb947) !important;
  box-shadow: 0 0 18px rgba(255, 204, 74, .38), inset 0 1px 0 rgba(255,255,255,.34) !important;
}

.sga-growth-page .rpg-top-board .rpg-small-badges span:nth-child(2) {
  transform: scale(1.08) !important;
  color: #161009 !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.55), transparent 40%),
    linear-gradient(180deg, #fff0ad 0%, #e4bf58 54%, #b98523 100%) !important;
  border-color: rgba(255, 225, 128, .72) !important;
  box-shadow: 0 0 0 2px rgba(255, 220, 105, .16), 0 8px 18px rgba(91, 55, 9, .2), inset 0 1px 0 rgba(255,255,255,.5) !important;
  font-size: 13px !important;
  letter-spacing: -0.02em !important;
}

.sga-growth-page .rpg-status-board {
  box-shadow: 0 18px 34px rgba(0,0,0,.24), 0 0 0 1px rgba(255, 225, 150, .1) inset !important;
}

.sga-growth-page .rpg-status-board .rpg-section-title h2 {
  font-size: clamp(24px, 6.2vw, 30px) !important;
  line-height: 1.12 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35) !important;
}

.sga-growth-page .sga-readiness-detail-button {
  min-height: 38px !important;
  padding: 0 18px !important;
  font-size: 13px !important;
  box-shadow: 0 9px 18px rgba(72, 45, 9, .22), 0 0 0 2px rgba(255, 220, 105, .12), inset 0 1px 0 rgba(255,255,255,.5) !important;
}

.sga-growth-page button:not(.speech-button):not(.sga-language-review-sound-button):not(.sga-main-review-sound-button):not(.sga-learning-speech-button):active,
.sga-growth-page a:active,
.sga-onboarding-overlay button:not(.sga-language-review-sound-button):active {
  filter: brightness(1.06) saturate(1.04) !important;
}

.sga-language-growth-title {
  letter-spacing: -0.04em !important;
  word-break: keep-all !important;
}

.sga-language-growth-help {
  font-size: 10.5px !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
}

@media (max-width: 430px) {
  .sga-growth-page .rpg-exp-meter {
    padding: 12px 11px 13px !important;
  }
  .sga-growth-page .rpg-exp-meter > span {
    font-size: 14px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .sga-growth-page .rpg-top-board .rpg-small-badges span:nth-child(2) {
    font-size: 12px !important;
  }
}


/* v137.7: readiness hero summary and remove growth board from main flow */
.sga-growth-page .rpg-board-compact {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.sga-growth-page .rpg-status-board .rpg-exp-meter {
  margin-top: 18px !important;
  padding: 16px 15px 16px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 246, 177, .58), transparent 44%),
    linear-gradient(180deg, rgba(255, 241, 187, .54), rgba(222, 176, 78, .24)) !important;
  border: 1px solid rgba(116, 75, 17, .42) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 12px 22px rgba(79, 49, 8, .16) !important;
}

.sga-growth-page .rpg-status-board .rpg-exp-meter > span {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  place-items: center !important;
  min-height: 42px !important;
  padding: 9px 13px !important;
  border-radius: 18px !important;
  color: #241505 !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.62), transparent 42%),
    linear-gradient(180deg, #fff2b5 0%, #e4bd51 54%, #b88324 100%) !important;
  border: 1px solid rgba(117, 78, 19, .5) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.56),
    0 7px 16px rgba(86, 53, 9, .18),
    0 0 0 2px rgba(255, 220, 105, .12) !important;
  font-size: clamp(15px, 4.1vw, 18px) !important;
  line-height: 1.22 !important;
  font-weight: 950 !important;
  letter-spacing: -0.045em !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
}

.sga-growth-page .rpg-status-board .rpg-exp-meter > span::before {
  content: "⚜" !important;
  margin-bottom: 2px !important;
  color: #6a3e08 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.sga-growth-page .rpg-status-board .rpg-exp-meter .exp-bar,
.sga-growth-page .rpg-status-board .exp-bar {
  height: 18px !important;
  margin-top: 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(79, 52, 14, .42) !important;
  background: rgba(58, 37, 10, .21) !important;
  box-shadow: inset 0 1px 4px rgba(44, 26, 6, .18) !important;
}

.sga-growth-page .rpg-status-board .rpg-exp-meter .exp-bar div,
.sga-growth-page .rpg-status-board .exp-bar div {
  background: linear-gradient(90deg, #49e3ad 0%, #f2dc63 55%, #ffad3f 100%) !important;
  box-shadow:
    0 0 18px rgba(255, 207, 73, .42),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}
