:root {
  color-scheme: light;
  --ink: #17211d;
  --muted: #62716b;
  --line: #dbe4df;
  --paper: #f7faf8;
  --white: #ffffff;
  --green: #117a57;
  --green-dark: #0c503d;
  --aqua: #3bb6a3;
  --coral: #e76543;
  --gold: #d59b2d;
  --blue: #1c6fb8;
  --shadow: 0 24px 70px rgba(23, 33, 29, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--paper);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px clamp(18px, 4vw, 56px);
  background: rgba(247, 250, 248, 0.88);
  border-bottom: 1px solid rgba(219, 228, 223, 0.86);
  backdrop-filter: blur(18px);
}

.brand,
.nav-links,
.hero-actions,
.hero-metrics,
.app-topbar,
.score-panel,
.site-footer {
  display: flex;
  align-items: center;
}

.brand {
  gap: 10px;
  min-width: max-content;
  font-weight: 760;
}

.brand-mark {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: var(--white);
  background: var(--green-dark);
  border-radius: 8px;
  font-size: 13px;
  letter-spacing: 0;
}

.nav-links {
  gap: 28px;
  color: var(--muted);
  font-size: 14px;
}

.nav-links a:hover {
  color: var(--ink);
}

.header-cta,
.primary-button,
.secondary-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 720;
  white-space: nowrap;
}

.header-cta {
  padding: 0 18px;
  color: var(--white);
  background: var(--green-dark);
  font-size: 14px;
}

.section-band {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 8vw, 96px) clamp(18px, 4vw, 56px);
}

.hero {
  display: grid;
  min-height: calc(100vh - 69px);
  grid-template-columns: minmax(0, 1fr) minmax(340px, 520px);
  gap: clamp(32px, 7vw, 88px);
  align-items: center;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.62)),
    url("https://images.unsplash.com/photo-1506306460327-3164753b74c7?auto=format&fit=crop&w=1800&q=82");
  background-position: center;
  background-size: cover;
}

.hero::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 120px;
  background: linear-gradient(0deg, var(--paper), rgba(247, 250, 248, 0));
  pointer-events: none;
}

.hero-copy,
.phone-stage {
  position: relative;
  z-index: 1;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--coral);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 680px;
  margin-bottom: 22px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: 0;
}

.hero-lede {
  max-width: 620px;
  margin-bottom: 30px;
  color: #31413a;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.65;
}

.hero-actions {
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 34px;
}

.primary-button {
  padding: 0 24px;
  color: var(--white);
  background: var(--green-dark);
  box-shadow: 0 14px 28px rgba(12, 80, 61, 0.22);
}

.secondary-button {
  padding: 0 22px;
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(12, 80, 61, 0.2);
}

.hero-metrics {
  flex-wrap: wrap;
  gap: 12px;
}

.hero-metrics div {
  min-width: 120px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(219, 228, 223, 0.9);
  border-radius: 8px;
  backdrop-filter: blur(16px);
}

.hero-metrics strong,
.hero-metrics span {
  display: block;
}

.hero-metrics strong {
  margin-bottom: 4px;
  font-size: 24px;
}

.hero-metrics span {
  color: var(--muted);
  font-size: 13px;
}

.phone-stage {
  display: grid;
  min-height: 620px;
  width: 100%;
  padding: 24px 0;
  place-items: center;
  background: #eef6f2;
}

.phone-shell {
  width: min(360px, 88vw);
  padding: 0;
  background: transparent;
  border-radius: 30px;
  box-shadow: var(--shadow);
}

.app-screen {
  display: flex;
  flex-direction: column;
  height: 610px;
  min-height: 610px;
  padding: 14px 16px 16px;
  overflow: hidden;
  background: #f4f8f6;
  border-radius: 30px;
  border: 1px solid rgba(219, 228, 223, 0.95);
  scrollbar-width: none;
}

.app-screen::-webkit-scrollbar {
  display: none;
}

.app-view {
  position: relative;
  flex: 1;
  display: flex;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  flex-direction: column;
}

.app-content {
  flex: 1 1 auto;
  min-height: 0;
  padding-bottom: 10px;
  overflow-y: auto;
  scrollbar-width: none;
}

.app-content::-webkit-scrollbar {
  display: none;
}

.app-content--speakTask {
  padding-bottom: 168px;
}

.app-content--score {
  padding-bottom: 136px;
}

.app-content--reviewCard {
  padding-bottom: 132px;
}

.app-content--wordDetail {
  padding-bottom: 122px;
}

.app-content--profile {
  padding-bottom: 38px;
}

.app-statusbar,
.app-home-header,
.daily-pills,
.continue-card {
  display: flex;
  align-items: center;
}

.app-statusbar {
  justify-content: space-between;
  padding: 2px 4px 14px;
  color: #17211d;
  font-size: 12px;
  font-weight: 820;
}

.app-home-header {
  justify-content: space-between;
  margin-bottom: 14px;
}

.app-home-header span,
.app-home-header strong {
  display: block;
}

.app-home-header span {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.app-home-header strong {
  font-size: 25px;
  line-height: 1.05;
}

.app-home-header button,
.avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--white);
  background: var(--green-dark);
  border: 0;
  border-radius: 50%;
  font: inherit;
  font-weight: 820;
}

.daily-pills {
  gap: 8px;
  margin-bottom: 12px;
}

.daily-pills button {
  display: grid;
  min-width: 0;
  flex: 1;
  min-height: 52px;
  padding: 8px 10px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.daily-pills strong,
.daily-pills span {
  display: block;
}

.daily-pills strong {
  margin-bottom: 2px;
  font-size: 16px;
}

.daily-pills span {
  color: var(--muted);
  font-size: 11px;
}

.today-card {
  padding: 16px;
  margin-bottom: 12px;
  color: var(--white);
  background:
    linear-gradient(135deg, rgba(12, 80, 61, 0.92), rgba(28, 111, 184, 0.76)),
    url("https://images.unsplash.com/photo-1566576721346-d4a3b4eaeb55?auto=format&fit=crop&w=900&q=80");
  background-position: center;
  background-size: cover;
  border-radius: 8px;
}

.today-card span {
  display: block;
  margin-bottom: 24px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 820;
}

.today-card h2 {
  margin-bottom: 8px;
  font-size: 23px;
  line-height: 1.15;
}

.today-card p {
  margin-bottom: 14px;
  color: #dcefe9;
  font-size: 13px;
  line-height: 1.45;
}

.today-card button {
  min-height: 42px;
  padding: 0 22px;
  color: var(--green-dark);
  background: var(--white);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 820;
}

.continue-card {
  width: 100%;
  gap: 10px;
  padding: 12px;
  margin-bottom: 12px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.continue-card > span:not(.course-icon) {
  min-width: 0;
  flex: 1;
}

.continue-card strong,
.continue-card em,
.continue-card b {
  display: block;
}

.continue-card strong {
  margin-bottom: 3px;
  font-size: 14px;
}

.continue-card em {
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
}

.continue-card b {
  color: var(--green);
  font-size: 12px;
}

.home-loop-card {
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.home-loop-card p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.home-loop-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.home-loop-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.home-loop-card div {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

.home-loop-card div span {
  padding: 7px 9px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.82);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
}

.home-loop-card .app-primary-action {
  margin-top: 0;
}

.home-review-card {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(180deg, #ffffff, #f7fbf9);
  border: 1px solid rgba(178, 219, 209, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 18px rgba(13, 74, 57, 0.06);
}

.home-review-card span {
  display: grid;
  min-width: 0;
  min-height: 52px;
  place-items: center;
  padding: 6px 3px;
  background: rgba(224, 242, 237, 0.72);
  border-radius: 8px;
}

.home-review-card .home-review-nudge {
  grid-column: 1 / -1;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  place-items: stretch;
  padding: 10px 12px;
  text-align: left;
  background: rgba(13, 90, 68, 0.08);
}

.home-review-card strong,
.home-review-card em,
.home-review-card b {
  display: block;
}

.home-review-card strong {
  color: var(--green-dark);
  font-size: 16px;
  line-height: 1.15;
}

.home-review-card em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.15;
}

.home-review-card b {
  align-self: center;
  grid-row: 1 / span 2;
  grid-column: 2;
  color: var(--green);
  font-size: 12px;
}

.home-review-card .home-review-plan {
  grid-column: 1 / -1;
  min-height: 0;
  place-items: stretch;
  gap: 4px;
  padding: 10px 12px;
  text-align: left;
  color: #ffffff;
  background: linear-gradient(135deg, #0c503d, #1d76a9);
}

.home-review-card .home-review-progress {
  grid-column: 1 / -1;
  min-height: 0;
  place-items: stretch;
  gap: 4px;
  padding: 9px 12px;
  text-align: left;
  background: #fff7e8;
  border: 1px solid rgba(216, 151, 37, 0.24);
}

.home-review-progress i,
.home-review-progress small {
  display: block;
  font-style: normal;
  line-height: 1.35;
}

.home-review-progress i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: #8b5515;
  font-size: 12px;
  font-weight: 900;
}

.home-review-progress i b {
  grid-row: auto;
  grid-column: auto;
  align-self: auto;
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #8b5515;
  background: #ffe8ba;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.home-review-progress small {
  color: #8b5515;
  font-size: 11px;
  font-weight: 760;
}

.home-review-plan i,
.home-review-plan small {
  display: block;
  font-style: normal;
  line-height: 1.35;
}

.home-review-plan i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  font-weight: 900;
}

.home-review-plan i b {
  grid-row: auto;
  grid-column: auto;
  align-self: auto;
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #dff4ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.home-review-card .home-review-mission-strip {
  display: grid;
  min-height: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding: 0;
  margin: 2px 0 3px;
  background: transparent;
}

.home-review-card .home-review-mission-strip span {
  display: flex;
  min-width: 0;
  min-height: 42px;
  padding: 6px 5px;
  flex-direction: column;
  justify-content: center;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  text-align: center;
}

.home-review-mission-strip small,
.home-review-mission-strip strong {
  display: block;
  min-width: 0;
  line-height: 1.16;
}

.home-review-mission-strip small {
  color: rgba(255, 255, 255, 0.72);
  font-size: 9px;
  font-weight: 900;
}

.home-review-mission-strip strong {
  display: -webkit-box;
  min-height: 22px;
  overflow: hidden;
  color: #ffffff;
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-review-plan strong {
  color: #ffffff;
  font-size: 14px;
}

.home-review-plan em,
.home-review-plan small {
  color: rgba(255, 255, 255, 0.8);
  font-size: 11px;
  font-weight: 720;
  line-height: 1.35;
}

.home-review-plan .home-review-source-cue {
  color: #ffffff;
  font-weight: 860;
}

.home-review-plan .home-review-source-action {
  color: rgba(255, 255, 255, 0.72);
}

.home-review-plan .home-review-first-asset-cue {
  color: #fff7c6;
  font-weight: 880;
}

.home-queued-asset-card {
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 13px 14px;
  margin-bottom: 12px;
  color: var(--ink);
  text-align: left;
  background: linear-gradient(135deg, #eef9f4, #ffffff);
  border: 1px solid rgba(49, 184, 148, 0.28);
  border-left: 4px solid #0d7f61;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 18px rgba(13, 74, 57, 0.06);
}

.home-queued-asset-card span {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.home-queued-asset-card strong,
.home-queued-asset-card em,
.home-queued-asset-card b,
.home-queued-asset-card small,
.home-queued-asset-card i {
  display: block;
  min-width: 0;
}

.home-queued-asset-card strong {
  color: var(--green-dark);
  font-size: 16px;
  line-height: 1.18;
}

.home-queued-asset-card em {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: rgba(210, 239, 230, 0.95);
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.home-queued-asset-card b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-queued-asset-card small,
.home-queued-asset-card i {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.home-queued-asset-card div {
  display: grid;
  gap: 4px;
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
}

.home-queued-asset-card i {
  color: var(--green-dark);
}

.home-queued-asset-card .home-queued-asset-action {
  display: block;
  width: fit-content;
  padding: 6px 10px;
  margin-top: 2px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.home-first-asset-card {
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 13px 14px;
  margin-bottom: 12px;
  color: var(--ink);
  text-align: left;
  background: linear-gradient(135deg, #ffffff, #eef7ff);
  border: 1px solid rgba(47, 112, 193, 0.24);
  border-left: 4px solid #2f70c1;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 18px rgba(18, 70, 130, 0.06);
}

.home-first-asset-card span {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.home-first-asset-card strong,
.home-first-asset-card em,
.home-first-asset-card b,
.home-first-asset-card small,
.home-first-asset-card i {
  display: block;
  min-width: 0;
}

.home-first-asset-card strong {
  color: #19589d;
  font-size: 16px;
  line-height: 1.18;
}

.home-first-asset-card em {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #19589d;
  background: #dfeefe;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.home-first-asset-card b {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
}

.home-first-asset-card small,
.home-first-asset-card i {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.home-first-asset-card div {
  display: grid;
  gap: 4px;
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
}

.home-first-asset-card i {
  color: #19589d;
}

.home-first-asset-card .home-first-asset-action {
  width: fit-content;
  padding: 6px 10px;
  margin-top: 2px;
  color: #ffffff;
  background: #19589d;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.home-weakness-repair-card {
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 13px 14px;
  margin-bottom: 12px;
  color: var(--ink);
  text-align: left;
  background: linear-gradient(135deg, #f0faf6, #ffffff);
  border: 1px solid rgba(56, 201, 163, 0.28);
  border-left: 4px solid #38c9a3;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 18px rgba(13, 74, 57, 0.06);
}

.home-weakness-repair-card span {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.home-weakness-repair-card strong,
.home-weakness-repair-card em,
.home-weakness-repair-card b,
.home-weakness-repair-card small,
.home-weakness-repair-card i {
  display: block;
  min-width: 0;
}

.home-weakness-repair-card strong {
  color: var(--green-dark);
  font-size: 16px;
  line-height: 1.18;
}

.home-weakness-repair-card em {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: rgba(210, 239, 230, 0.95);
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.home-weakness-repair-card b {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
}

.home-weakness-repair-card small,
.home-weakness-repair-card i {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.home-weakness-repair-card div {
  display: grid;
  gap: 4px;
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
}

.home-weakness-repair-card i {
  color: var(--green-dark);
}

.home-weakness-repair-card .home-weakness-repair-action {
  width: fit-content;
  padding: 6px 10px;
  margin-top: 2px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.home-callable-asset-card {
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 13px 14px;
  margin-bottom: 12px;
  color: var(--ink);
  text-align: left;
  background: linear-gradient(135deg, #ffffff, #fff8ea);
  border: 1px solid rgba(216, 151, 37, 0.26);
  border-left: 4px solid #d89725;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 18px rgba(133, 84, 15, 0.06);
}

.home-callable-asset-card span {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
}

.home-callable-asset-card strong,
.home-callable-asset-card em,
.home-callable-asset-card b,
.home-callable-asset-card small,
.home-callable-asset-card i {
  display: block;
  min-width: 0;
}

.home-callable-asset-card strong {
  color: #8b5515;
  font-size: 16px;
  line-height: 1.18;
}

.home-callable-asset-card em {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #8b5515;
  background: #fff1d5;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.home-callable-asset-card b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-callable-asset-card small,
.home-callable-asset-card i {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.home-callable-asset-card i {
  color: var(--green-dark);
}

.home-callable-asset-card .home-callable-use-cases {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-start;
}

.home-callable-asset-card .home-callable-use-cases small {
  width: fit-content;
  padding: 4px 6px;
  color: #8b5515;
  background: #fff1d5;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
}

.home-callable-asset-card .home-callable-action {
  width: fit-content;
  padding: 6px 10px;
  margin-top: 2px;
  color: #ffffff;
  background: #8b5515;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.quick-grid button {
  min-height: 70px;
  padding: 11px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.quick-grid strong,
.quick-grid span {
  display: block;
}

.quick-grid strong {
  margin-bottom: 8px;
  font-size: 16px;
}

.quick-grid span {
  color: var(--muted);
  font-size: 12px;
}

.asset-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 12px;
}

.asset-strip button {
  min-width: 0;
  min-height: 58px;
  padding: 9px 6px;
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
}

.asset-strip strong,
.asset-strip span {
  display: block;
}

.asset-strip strong {
  margin-bottom: 4px;
  color: var(--green-dark);
  font-size: 15px;
  line-height: 1;
}

.asset-strip span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}

.profile-card,
.practice-hero {
  padding: 22px 18px;
  margin-bottom: 12px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
}

.profile-card {
  text-align: center;
}

.profile-card .avatar {
  margin: 0 auto 12px;
}

.profile-card h2 {
  margin-bottom: 6px;
  font-size: 24px;
}

.profile-card p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.profile-stats div {
  padding: 12px 8px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  text-align: center;
}

.profile-stats strong,
.profile-stats span {
  display: block;
}

.profile-stats strong {
  margin-bottom: 4px;
  font-size: 21px;
}

.profile-stats span {
  color: var(--muted);
  font-size: 11px;
}

.profile-stats,
.practice-grid {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.profile-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-speaking-asset-card {
  display: block;
  padding: 15px;
  margin-bottom: 14px;
  color: var(--text);
  background: linear-gradient(135deg, #ffffff 0%, #fff8ea 100%);
  border: 1px solid rgba(216, 151, 37, 0.26);
  border-left: 4px solid #d89725;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(29, 64, 50, 0.07);
}

.profile-speaking-asset-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.profile-speaking-asset-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: var(--green-dark);
  background: rgba(42, 191, 140, 0.16);
  border-radius: 999px;
}

.profile-speaking-asset-card strong,
.profile-speaking-asset-card em,
.profile-speaking-asset-card b,
.profile-speaking-asset-card small {
  display: block;
}

.profile-speaking-asset-card strong {
  margin-bottom: 8px;
  font-size: 20px;
  line-height: 1.25;
}

.profile-speaking-asset-card em {
  margin-bottom: 7px;
  color: #1d5346;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.42;
}

.profile-speaking-asset-card b {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.profile-speaking-asset-card small {
  color: #8a5d15;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
}

.profile-asset-stage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.profile-asset-stage-grid span {
  display: grid;
  gap: 2px;
  justify-items: center;
  padding: 8px 6px;
  color: var(--green-dark);
  background: rgba(17, 95, 74, 0.08);
  border: 1px solid rgba(17, 95, 74, 0.1);
  border-radius: 8px;
  text-align: center;
}

.profile-asset-stage-grid strong {
  margin: 0;
  font-size: 17px;
  line-height: 1;
}

.profile-asset-stage-grid small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}

.profile-asset-proof-card {
  display: grid;
  gap: 8px;
  padding: 10px;
  margin-top: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #115f4a, #1c7d67);
  border: 1px solid rgba(17, 95, 74, 0.24);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(17, 95, 74, 0.14);
}

.profile-asset-proof-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.profile-asset-proof-card p span {
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.92);
}

.profile-asset-proof-card strong,
.profile-asset-proof-card em,
.profile-asset-proof-card b,
.profile-asset-proof-card small,
.profile-asset-proof-card i {
  display: block;
  min-width: 0;
  margin: 0;
  font-style: normal;
  line-height: 1.35;
}

.profile-asset-proof-card > strong {
  color: #ffffff;
  font-size: 15px;
}

.profile-asset-proof-card > em {
  color: rgba(255, 255, 255, 0.8);
  font-size: 11px;
  font-weight: 820;
}

.profile-asset-proof-card .profile-asset-proof-cue {
  padding: 8px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 860;
}

.profile-asset-proof-card > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.profile-asset-proof-card > div span {
  display: grid;
  gap: 3px;
  padding: 7px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.profile-asset-proof-card small,
.profile-asset-proof-card i {
  color: rgba(255, 255, 255, 0.76);
  font-size: 9px;
  font-weight: 780;
}

.profile-asset-proof-card b {
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
}

.profile-asset-proof-card .profile-asset-proof-scenes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.profile-asset-proof-card .profile-asset-proof-scenes small {
  width: fit-content;
  padding: 5px 7px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
}

.profile-asset-proof-card button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 38px;
  padding: 9px 10px;
  color: var(--green-dark);
  background: #ffffff;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
}

.profile-asset-proof-card button span,
.profile-asset-proof-card button strong {
  min-width: 0;
  margin: 0;
  color: inherit;
  font-size: 11px;
  line-height: 1.25;
}

.profile-asset-proof-card button span {
  text-align: left;
}

.profile-asset-proof-card button strong {
  flex: 0 0 auto;
  font-size: 12px;
}

.profile-achievement-wall {
  display: grid;
  gap: 8px;
  padding: 10px;
  margin-top: 10px;
  background: linear-gradient(135deg, #ffffff, #f3fbf8);
  border: 1px solid rgba(17, 95, 74, 0.16);
  border-radius: 8px;
}

.profile-achievement-wall p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.profile-achievement-wall p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.profile-achievement-wall > strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.32;
}

.profile-achievement-growth {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding: 7px;
  background: rgba(17, 95, 74, 0.07);
  border-radius: 8px;
}

.profile-achievement-growth span {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding: 7px 4px;
  color: var(--green-dark);
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.1);
  border-radius: 8px;
  text-align: center;
}

.profile-achievement-growth b,
.profile-achievement-growth strong,
.profile-achievement-growth small {
  display: block;
  margin: 0;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.profile-achievement-growth b {
  color: var(--green-dark);
  font-size: 9px;
  font-weight: 920;
}

.profile-achievement-growth strong {
  color: var(--ink);
  font-size: 11px;
  font-weight: 950;
}

.profile-achievement-growth small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 760;
}

.profile-achievement-repair-summary {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 10px;
  color: #0b5a45;
  background: linear-gradient(135deg, #ecf9f4, #ffffff);
  border: 1px solid rgba(56, 201, 163, 0.28);
  border-left: 4px solid #38c9a3;
  border-radius: 8px;
  text-align: left;
}

.profile-achievement-repair-summary small,
.profile-achievement-repair-summary strong,
.profile-achievement-repair-summary em,
.profile-achievement-repair-summary span {
  display: block;
  margin: 0;
  font-style: normal;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.profile-achievement-repair-summary small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(11, 90, 69, 0.68);
  font-size: 9px;
  font-weight: 930;
}

.profile-achievement-repair-summary small b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #0b5a45;
  background: rgba(56, 201, 163, 0.18);
  border-radius: 999px;
  font-size: 9px;
}

.profile-achievement-repair-summary strong {
  color: #0b5a45;
  font-size: 12px;
  font-weight: 950;
}

.profile-achievement-repair-summary em {
  color: rgba(11, 90, 69, 0.68);
  font-size: 10px;
  font-weight: 820;
}

.profile-achievement-repair-summary span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 8px;
  color: rgba(11, 90, 69, 0.72);
  background: rgba(255, 255, 255, 0.74);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 820;
}

.profile-achievement-repair-summary span b {
  flex: 0 0 auto;
  color: #0b5a45;
  font-size: 10px;
  font-weight: 950;
}

.profile-achievement-refresh-summary {
  display: grid;
  gap: 6px;
  width: 100%;
  padding: 10px;
  color: #0b5a45;
  background: linear-gradient(135deg, #0b5a45, #1f8f73);
  border: 1px solid rgba(11, 90, 69, 0.18);
  border-radius: 8px;
  text-align: left;
  box-shadow: 0 10px 20px rgba(12, 80, 61, 0.12);
}

.profile-achievement-refresh-summary small,
.profile-achievement-refresh-summary strong,
.profile-achievement-refresh-summary em,
.profile-achievement-refresh-summary span,
.profile-achievement-refresh-summary b,
.profile-achievement-refresh-summary i,
.profile-achievement-refresh-summary button {
  display: block;
  min-width: 0;
  margin: 0;
  font-style: normal;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.profile-achievement-refresh-summary small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 9px;
  font-weight: 930;
}

.profile-achievement-refresh-summary small b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 950;
}

.profile-achievement-refresh-summary strong {
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
}

.profile-achievement-refresh-summary em {
  color: rgba(255, 255, 255, 0.76);
  font-size: 10px;
  font-weight: 780;
}

.profile-achievement-refresh-summary > i {
  color: rgba(255, 255, 255, 0.64);
  font-size: 9px;
  font-weight: 760;
}

.profile-achievement-refresh-summary span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 7px;
}

.profile-achievement-refresh-summary button {
  min-height: 34px;
  padding: 8px 9px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.92);
  border: 0;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  text-align: center;
  overflow-wrap: anywhere;
}

.profile-achievement-refresh-summary button:last-child {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.profile-achievement-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  width: 100%;
  padding: 10px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  text-align: left;
}

.profile-achievement-next-action span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.profile-achievement-next-action b,
.profile-achievement-next-action small,
.profile-achievement-next-action strong {
  display: block;
  margin: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.profile-achievement-next-action b {
  color: #ffffff;
  font-size: 12px;
  font-weight: 940;
}

.profile-achievement-next-action small {
  color: rgba(255, 255, 255, 0.68);
  font-size: 10px;
  font-weight: 760;
}

.profile-achievement-next-action strong {
  flex: 0 0 auto;
  padding: 6px 8px;
  color: var(--green-dark);
  background: #ffffff;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}

.profile-achievement-certificate-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  width: 100%;
  padding: 10px;
  color: var(--green-dark);
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.16);
  border-radius: 8px;
  text-align: left;
}

.profile-achievement-certificate-action span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.profile-achievement-certificate-action b,
.profile-achievement-certificate-action small,
.profile-achievement-certificate-action strong {
  display: block;
  margin: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.profile-achievement-certificate-action b {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 940;
}

.profile-achievement-certificate-action small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

.profile-achievement-certificate-action strong {
  flex: 0 0 auto;
  padding: 6px 8px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}

.profile-achievement-wall > div {
  display: grid;
  gap: 7px;
}

.profile-achievement-wall > div button {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 10px;
  text-align: left;
  color: var(--text);
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.14);
  border-radius: 8px;
  box-shadow: none;
}

.profile-achievement-wall > div button small,
.profile-achievement-wall > div button b,
.profile-achievement-wall > div button em,
.profile-achievement-wall > div button i,
.profile-achievement-wall > div button span {
  display: block;
  min-width: 0;
  margin: 0;
  font-style: normal;
  line-height: 1.35;
}

.profile-achievement-wall > div button > small {
  width: fit-content;
  padding: 3px 7px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}

.profile-achievement-wall > div button b {
  color: var(--ink);
  font-size: 13px;
  font-weight: 940;
}

.profile-achievement-wall > div button em,
.profile-achievement-wall > div button i {
  color: var(--muted);
  font-size: 10px;
  font-weight: 780;
}

.profile-achievement-wall > div button i {
  color: #16845f;
  font-weight: 900;
}

.profile-achievement-wall > div button span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 8px;
  color: #5f6f6a;
  background: rgba(17, 95, 74, 0.07);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 820;
}

.profile-achievement-wall > div button span strong {
  flex: 0 0 auto;
  color: var(--green-dark);
  font-size: 10px;
}

.profile-achievement-weakness {
  display: grid;
  gap: 3px;
  padding: 8px;
  color: #0b5a45;
  background: linear-gradient(135deg, rgba(221, 241, 234, 0.84), #ffffff);
  border-left: 3px solid #38c9a3;
  border-radius: 8px;
}

.profile-achievement-weakness small,
.profile-achievement-weakness em,
.profile-achievement-weakness i {
  display: block;
  margin: 0;
  font-style: normal;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.profile-achievement-weakness small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(11, 90, 69, 0.68);
  font-size: 9px;
  font-weight: 930;
}

.profile-achievement-weakness small b {
  flex: 0 0 auto;
  padding: 2px 6px;
  color: #0b5a45;
  background: rgba(56, 201, 163, 0.18);
  border-radius: 999px;
  font-size: 9px;
}

.profile-achievement-weakness em {
  color: #0b5a45;
  font-size: 10px;
  font-weight: 900;
}

.profile-achievement-weakness i {
  color: rgba(11, 90, 69, 0.66);
  font-size: 9px;
  font-weight: 780;
}

.profile-asset-filter-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}

.profile-asset-filter-bar button {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 4px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(17, 95, 74, 0.12);
  border-radius: 8px;
  text-align: center;
  box-shadow: none;
}

.profile-asset-filter-bar button.is-active {
  color: #ffffff;
  background: var(--green-dark);
  border-color: var(--green-dark);
}

.profile-asset-filter-bar strong,
.profile-asset-filter-bar small {
  display: block;
  min-width: 0;
  margin: 0;
  line-height: 1.1;
}

.profile-asset-filter-bar strong {
  font-size: 11px;
}

.profile-asset-filter-bar small {
  color: inherit;
  font-size: 10px;
  font-weight: 900;
}

.profile-asset-filter-copy {
  padding: 7px 8px;
  margin-top: 8px;
  color: #1d5346;
  background: rgba(42, 191, 140, 0.1);
  border-radius: 8px;
}

.profile-recent-upgrade-card {
  display: grid;
  gap: 7px;
  padding: 12px;
  margin-top: 12px;
  color: var(--text);
  background:
    linear-gradient(135deg, rgba(17, 95, 74, 0.96), rgba(26, 132, 94, 0.88)),
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent);
  border: 1px solid rgba(17, 95, 74, 0.24);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(17, 95, 74, 0.16);
}

.profile-recent-upgrade-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
}

.profile-recent-upgrade-card p span {
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.9);
}

.profile-recent-upgrade-card strong,
.profile-recent-upgrade-card em,
.profile-recent-upgrade-card small,
.profile-recent-upgrade-card b,
.profile-recent-upgrade-card i {
  display: block;
  margin: 0;
  font-style: normal;
  line-height: 1.35;
}

.profile-recent-upgrade-card strong {
  color: #ffffff;
  font-size: 16px;
}

.profile-recent-upgrade-card em {
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-weight: 900;
}

.profile-recent-upgrade-card small,
.profile-recent-upgrade-card i {
  color: rgba(255, 255, 255, 0.82);
  font-size: 10px;
  font-weight: 820;
}

.profile-recent-upgrade-card b {
  padding: 8px;
  color: #ffffff;
  font-size: 11px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.profile-recent-upgrade-card button {
  width: fit-content;
  min-height: 34px;
  padding: 8px 13px;
  color: var(--green-dark);
  background: #ffffff;
  border: 0;
  border-radius: 999px;
  box-shadow: none;
}

.profile-asset-upgrade-path {
  display: grid;
  gap: 8px;
  padding: 10px;
  margin-top: 12px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(216, 151, 37, 0.22);
  border-radius: 8px;
}

.profile-asset-upgrade-path p {
  margin: 0;
  color: #8a5d15;
}

.profile-asset-upgrade-path p span {
  color: #8a5d15;
  background: #fff1d5;
}

.profile-asset-upgrade-path strong {
  margin: 0;
  color: var(--green-dark);
  font-size: 14px;
}

.profile-asset-upgrade-path em {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.profile-asset-upgrade-path div {
  display: grid;
  gap: 6px;
}

.profile-asset-upgrade-path div span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 2px 8px;
  align-items: center;
  padding: 7px;
  background: rgba(17, 95, 74, 0.06);
  border: 1px solid transparent;
  border-radius: 8px;
}

.profile-asset-upgrade-path div span.is-current {
  background: rgba(42, 191, 140, 0.14);
  border-color: rgba(17, 95, 74, 0.16);
}

.profile-asset-upgrade-path b {
  grid-row: 1 / span 2;
  margin: 0;
  color: var(--green-dark);
  font-size: 18px;
  line-height: 1;
  text-align: center;
}

.profile-asset-upgrade-path div small,
.profile-asset-upgrade-path div i {
  display: block;
  min-width: 0;
  font-style: normal;
  line-height: 1.28;
}

.profile-asset-upgrade-path div small {
  color: var(--ink);
  font-size: 10px;
  font-weight: 900;
}

.profile-asset-upgrade-path div i {
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

.profile-speaking-asset-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.profile-speaking-asset-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  width: 100%;
  padding: 11px;
  text-align: left;
  color: var(--text);
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(17, 95, 74, 0.14);
  border-radius: 8px;
  box-shadow: none;
}

.profile-speaking-asset-list button span,
.profile-speaking-asset-list button i,
.profile-speaking-asset-list button strong,
.profile-speaking-asset-list button em,
.profile-speaking-asset-list button small {
  display: block;
}

.profile-speaking-asset-list button i {
  width: fit-content;
  padding: 3px 7px;
  margin-bottom: 6px;
  color: var(--green-dark);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  background: rgba(42, 191, 140, 0.16);
  border-radius: 999px;
}

.profile-speaking-asset-list button strong {
  margin-bottom: 5px;
  font-size: 13px;
  line-height: 1.28;
}

.profile-speaking-asset-list button em {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.35;
}

.profile-speaking-asset-list button small {
  color: #8a5d15;
  font-size: 10px;
}

.profile-speaking-asset-list button .asset-next-practice {
  padding: 6px 8px;
  margin-top: 6px;
  color: var(--green-dark);
  background: rgba(17, 95, 74, 0.08);
  border-radius: 8px;
  line-height: 1.35;
}

.profile-speaking-asset-list button .asset-use-cases {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.profile-speaking-asset-list button .asset-use-cases small {
  width: fit-content;
  padding: 4px 6px;
  color: #58756d;
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
  background: #eef7f3;
  border-radius: 999px;
}

.profile-speaking-asset-list button .asset-weakness-retention {
  display: grid;
  gap: 4px;
  padding: 8px;
  margin-top: 8px;
  background: linear-gradient(135deg, #f0faf6, #ffffff);
  border: 1px solid rgba(17, 95, 74, 0.16);
  border-left: 3px solid var(--green-dark);
  border-radius: 8px;
}

.profile-speaking-asset-list button .asset-weakness-retention strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: var(--green-dark);
  font-size: 11px;
  line-height: 1.2;
}

.profile-speaking-asset-list button .asset-weakness-retention strong small {
  flex: 0 0 auto;
  width: fit-content;
  padding: 3px 6px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-weakness-retention em,
.profile-speaking-asset-list button .asset-weakness-retention small,
.profile-speaking-asset-list button .asset-weakness-retention i {
  margin: 0;
  color: #58756d;
  font-size: 9px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.35;
}

.profile-speaking-asset-list button .asset-weakness-retention em {
  color: #11684f;
  font-weight: 900;
}

.profile-speaking-asset-list button .profile-asset-weakness-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.profile-speaking-asset-list button .profile-asset-weakness-strip span {
  min-width: 0;
  min-height: 44px;
  padding: 7px 5px;
  display: grid;
  align-content: center;
  gap: 2px;
  text-align: center;
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.08);
  border-radius: 8px;
}

.profile-speaking-asset-list button .profile-asset-weakness-strip small,
.profile-speaking-asset-list button .profile-asset-weakness-strip strong {
  display: block;
  margin: 0;
  min-width: 0;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.profile-speaking-asset-list button .profile-asset-weakness-strip small {
  color: rgba(17, 95, 74, 0.62);
  font-size: 8px;
  font-weight: 900;
}

.profile-speaking-asset-list button .profile-asset-weakness-strip strong {
  display: -webkit-box;
  min-height: 22px;
  color: var(--green-dark);
  font-size: 9px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.profile-speaking-asset-list button .asset-weakness-retention i {
  color: var(--green-dark);
}

.profile-speaking-asset-list button .asset-weakness-retention-plan {
  display: grid;
  gap: 3px;
  padding: 7px;
  margin-top: 4px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(42, 191, 140, 0.2);
  border-radius: 7px;
}

.profile-speaking-asset-list button .asset-weakness-retention-plan small {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 9px;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-weakness-retention-plan small b {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 8px;
  line-height: 1;
}

.profile-speaking-asset-list button .asset-transfer-summary {
  display: grid;
  gap: 4px;
  padding: 8px;
  margin-top: 8px;
  background: #ffffff;
  border: 1px solid rgba(42, 191, 140, 0.26);
  border-radius: 8px;
}

.profile-speaking-asset-list button .asset-source-repair-status {
  display: grid;
  gap: 4px;
  padding: 8px;
  margin-top: 8px;
  background: #fffaf2;
  border: 1px solid rgba(216, 151, 37, 0.2);
  border-radius: 8px;
}

.profile-speaking-asset-list button .asset-first-asset-status {
  display: grid;
  gap: 4px;
  padding: 8px;
  margin-top: 8px;
  color: #0b5a45;
  background: #eef8f3;
  border: 1px solid rgba(17, 95, 74, 0.16);
  border-radius: 8px;
}

.profile-speaking-asset-list button .asset-unsteady-repair-status {
  display: grid;
  gap: 4px;
  padding: 8px;
  margin-top: 8px;
  color: #8a4b00;
  background: #fff8e9;
  border: 1px solid rgba(212, 122, 24, 0.22);
  border-radius: 8px;
}

.profile-speaking-asset-list button .asset-unsteady-repair-status.is-repaired {
  color: var(--green-dark);
  background: #f2fbf7;
  border-color: rgba(17, 95, 74, 0.18);
}

.profile-speaking-asset-list button .asset-first-asset-status strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: inherit;
  font-size: 11px;
  line-height: 1.2;
}

.profile-speaking-asset-list button .asset-first-asset-status strong small {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: var(--green-dark);
  background: rgba(17, 95, 74, 0.12);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-first-asset-status em,
.profile-speaking-asset-list button .asset-first-asset-status small,
.profile-speaking-asset-list button .asset-first-asset-status i {
  margin: 0;
  color: inherit;
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.profile-speaking-asset-list button .asset-first-asset-status em {
  color: var(--ink);
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-first-asset-status i {
  opacity: 0.78;
  font-weight: 860;
}

.profile-speaking-asset-list button .asset-unsteady-repair-status strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: inherit;
  font-size: 11px;
  line-height: 1.2;
}

.profile-speaking-asset-list button .asset-unsteady-repair-status strong small {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: inherit;
  background: rgba(212, 122, 24, 0.14);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}

.profile-speaking-asset-list button .asset-unsteady-repair-status.is-repaired strong small {
  background: rgba(17, 95, 74, 0.12);
}

.profile-speaking-asset-list button .asset-unsteady-repair-status em,
.profile-speaking-asset-list button .asset-unsteady-repair-status small,
.profile-speaking-asset-list button .asset-unsteady-repair-status i {
  margin: 0;
  color: inherit;
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.profile-speaking-asset-list button .asset-unsteady-repair-status em {
  color: inherit;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-unsteady-repair-status i {
  opacity: 0.78;
  font-weight: 860;
}

.profile-speaking-asset-list button .asset-source-repair-status strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: #8a5b11;
  font-size: 11px;
  line-height: 1.2;
}

.profile-speaking-asset-list button .asset-source-repair-status strong small {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: #8a5b11;
  background: #fff0c9;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-source-repair-status em,
.profile-speaking-asset-list button .asset-source-repair-status small,
.profile-speaking-asset-list button .asset-source-repair-status i {
  margin: 0;
  color: #6f5323;
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.profile-speaking-asset-list button .asset-source-repair-status em {
  color: var(--ink);
  font-weight: 880;
}

.profile-speaking-asset-list button .asset-source-repair-status i {
  color: #8a5b11;
  font-weight: 860;
}

.profile-speaking-asset-list button .asset-transfer-summary strong {
  margin: 0;
  color: var(--green-dark);
  font-size: 11px;
}

.profile-speaking-asset-list button .asset-transfer-summary em {
  margin: 0;
  color: #16845f;
  font-size: 10px;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-transfer-summary small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 760;
  line-height: 1.35;
}

.profile-speaking-asset-list button .asset-transfer-summary .asset-transfer-next {
  width: fit-content;
  padding: 4px 6px;
  color: var(--green-dark);
  background: rgba(42, 191, 140, 0.16);
  border-radius: 999px;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-transfer-summary .asset-transfer-proof {
  display: grid;
  gap: 4px;
  padding: 8px;
  margin-top: 2px;
  color: #ffffff;
  background: linear-gradient(135deg, #0b5a45, #1c6f59);
  border-radius: 8px;
}

.profile-speaking-asset-list button .asset-transfer-summary .asset-transfer-proof b {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin: 0;
  color: #ffffff;
  font-size: 10px;
  font-weight: 920;
  line-height: 1.2;
}

.profile-speaking-asset-list button .asset-transfer-summary .asset-transfer-proof b small {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.86);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-transfer-summary .asset-transfer-proof em,
.profile-speaking-asset-list button .asset-transfer-summary .asset-transfer-proof i {
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.profile-speaking-asset-list button .asset-transfer-summary .asset-transfer-proof i {
  color: #ffffff;
  font-weight: 900;
}

.profile-speaking-asset-list button .asset-transfer-milestone-mini {
  display: grid;
  gap: 6px;
  padding: 8px;
  margin-top: 7px;
  background: linear-gradient(135deg, #f5fbff, #ffffff);
  border: 1px solid rgba(47, 127, 189, 0.18);
  border-radius: 8px;
}

.profile-speaking-asset-list button .asset-transfer-milestone-mini strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: #174a70;
  font-size: 11px;
  line-height: 1.2;
}

.profile-speaking-asset-list button .asset-transfer-milestone-mini strong small {
  width: fit-content;
  padding: 3px 6px;
  color: #ffffff;
  background: #2f7fbd;
  border-radius: 999px;
  font-size: 9px;
}

.profile-speaking-asset-list button .asset-transfer-milestone-mini > span {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.profile-speaking-asset-list button .asset-transfer-milestone-mini > span small {
  display: block;
  padding: 5px 4px;
  color: #73817d;
  background: #ffffff;
  border: 1px solid rgba(47, 127, 189, 0.1);
  border-radius: 7px;
  font-size: 9px;
  font-weight: 850;
  text-align: center;
}

.profile-speaking-asset-list button .asset-transfer-milestone-mini > span small.is-done {
  color: #174a70;
  background: #e4f2fb;
}

.profile-speaking-asset-list button .asset-transfer-milestone-mini em {
  margin: 0;
  color: #5f6f6a;
  font-size: 9px;
  font-weight: 780;
  line-height: 1.35;
}

.profile-speaking-asset-list button b {
  display: grid;
  gap: 2px;
  align-self: center;
  padding: 5px 7px;
  color: var(--green-dark);
  font-size: 11px;
  background: var(--green-soft);
  border-radius: 999px;
  text-align: center;
}

.profile-speaking-asset-list button b small {
  color: var(--green-dark);
  font-size: 9px;
  font-weight: 900;
}

.profile-speaking-asset-list button b .asset-row-action {
  padding: 3px 5px;
  margin-top: 2px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 8px;
  line-height: 1.1;
  white-space: nowrap;
}

.profile-asset-list-safe-end {
  display: grid;
  gap: 3px;
  padding: 9px 10px 18px;
  color: var(--muted);
  text-align: center;
}

.profile-asset-list-safe-end strong,
.profile-asset-list-safe-end small {
  display: block;
  margin: 0;
  line-height: 1.35;
}

.profile-asset-list-safe-end strong {
  color: #58756d;
  font-size: 11px;
}

.profile-asset-list-safe-end small {
  color: #7c8b86;
  font-size: 10px;
  font-weight: 760;
}

.profile-asset-filter-empty {
  display: grid;
  gap: 8px;
  padding: 12px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.78);
  border: 1px dashed rgba(17, 95, 74, 0.18);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 820;
  line-height: 1.45;
}

.profile-asset-filter-empty > strong,
.profile-asset-filter-empty > small {
  display: block;
}

.profile-asset-filter-empty > strong {
  color: var(--green-dark);
  font-size: 13px;
}

.profile-asset-filter-empty > small {
  color: var(--muted);
  font-size: 10px;
}

.profile-speaking-asset-list button.profile-asset-empty-action {
  margin-top: 2px;
  background: linear-gradient(135deg, rgba(17, 95, 74, 0.09), rgba(42, 191, 140, 0.13));
  border-color: rgba(17, 95, 74, 0.22);
}

.profile-speaking-asset-list button.profile-asset-empty-action b {
  color: #ffffff;
  background: var(--green-dark);
}

.profile-speaking-asset-card.is-empty {
  background: linear-gradient(135deg, #ffffff 0%, #f4faf7 100%);
  border-color: rgba(17, 95, 74, 0.16);
  border-left-color: var(--green);
}

.profile-speaking-asset-card.is-empty small {
  color: var(--muted);
}

.asset-proof-detail-card,
.asset-proof-detail-proof,
.asset-proof-unsteady-question,
.asset-proof-weakness-retention,
.asset-proof-detail-growth,
.asset-proof-detail-history,
.asset-proof-share-card,
.asset-proof-detail-next,
.asset-proof-detail-empty {
  padding: 15px;
  margin-bottom: 12px;
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.14);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(17, 95, 74, 0.06);
}

.asset-proof-detail-card {
  color: #ffffff;
  background: linear-gradient(135deg, #0b5a45, #174a70);
  border-color: rgba(11, 90, 69, 0.22);
}

.asset-proof-detail-card p,
.asset-proof-detail-proof p,
.asset-proof-unsteady-question p,
.asset-proof-weakness-retention p,
.asset-proof-detail-growth p,
.asset-proof-detail-history p,
.asset-proof-share-card p,
.asset-proof-detail-next p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.asset-proof-detail-card p {
  color: rgba(255, 255, 255, 0.9);
}

.asset-proof-detail-card p span,
.asset-proof-detail-proof p span,
.asset-proof-unsteady-question p span,
.asset-proof-weakness-retention p span,
.asset-proof-detail-growth p span,
.asset-proof-detail-history p span,
.asset-proof-share-card p span,
.asset-proof-detail-next p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.asset-proof-detail-card p span {
  background: rgba(255, 255, 255, 0.86);
}

.asset-proof-detail-card strong,
.asset-proof-detail-proof strong,
.asset-proof-unsteady-question strong,
.asset-proof-weakness-retention strong,
.asset-proof-detail-growth strong,
.asset-proof-detail-history strong,
.asset-proof-share-card strong,
.asset-proof-detail-next strong,
.asset-proof-detail-empty strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.32;
}

.asset-proof-detail-card strong,
.asset-proof-detail-card b {
  color: #ffffff;
}

.asset-proof-detail-card em,
.asset-proof-detail-card b,
.asset-proof-detail-card small,
.asset-proof-detail-proof em,
.asset-proof-detail-next em,
.asset-proof-detail-next small,
.asset-proof-detail-empty small {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.asset-proof-detail-card b {
  padding: 9px 10px;
  margin: 8px 0;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 13px;
}

.asset-proof-quick-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}

.asset-proof-quick-strip span {
  min-width: 0;
  min-height: 52px;
  padding: 8px 6px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.asset-proof-detail-card .asset-proof-quick-strip small,
.asset-proof-detail-card .asset-proof-quick-strip strong {
  display: block;
  margin: 0;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.asset-proof-detail-card .asset-proof-quick-strip small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 9px;
  font-weight: 850;
}

.asset-proof-detail-card .asset-proof-quick-strip strong {
  color: #ffffff;
  display: -webkit-box;
  font-size: 10px;
  font-weight: 930;
  min-height: 25px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.asset-proof-first-asset-status {
  padding: 8px 9px;
  margin-top: 8px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.asset-proof-first-asset-status span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 10px;
  font-weight: 900;
}

.asset-proof-first-asset-status span b {
  padding: 0;
  margin: 0;
  color: #ffffff;
  background: transparent;
  font-size: 11px;
}

.asset-proof-detail-card .asset-proof-first-asset-status strong {
  display: -webkit-box;
  margin-bottom: 4px;
  color: #ffffff;
  font-size: 11px;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.asset-proof-detail-card .asset-proof-first-asset-status small {
  display: -webkit-box;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.asset-proof-detail-card > button {
  width: 100%;
  min-height: 44px;
  margin-top: 10px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.94);
  border: 0;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 950;
}

.asset-proof-detail-card .asset-proof-primary-action-hint {
  padding: 7px 9px;
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  display: -webkit-box;
  font-size: 10px;
  font-weight: 900;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.asset-proof-detail-card > button:active {
  transform: translateY(1px);
}

.asset-proof-detail-card > button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.28);
  outline-offset: 2px;
}

.asset-proof-detail-proof {
  background: linear-gradient(135deg, #ffffff, #f2fbf7);
}

.asset-proof-detail-proof div,
.asset-proof-unsteady-question div,
.asset-proof-weakness-retention div,
.asset-proof-detail-growth div {
  display: grid;
  gap: 7px;
  margin: 9px 0;
}

.asset-proof-detail-proof div span,
.asset-proof-unsteady-question div span,
.asset-proof-weakness-retention div span,
.asset-proof-detail-growth div span {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 9px;
  color: #5f6f6a;
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.1);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.4;
}

.asset-proof-detail-proof div b,
.asset-proof-unsteady-question div b,
.asset-proof-weakness-retention div b,
.asset-proof-detail-growth div b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 920;
}

.asset-proof-detail-proof em,
.asset-proof-unsteady-question em,
.asset-proof-weakness-retention em,
.asset-proof-detail-next em {
  padding: 8px 10px;
  color: var(--green-dark);
  background: rgba(42, 191, 140, 0.12);
  border-radius: 8px;
  font-weight: 850;
}

.asset-proof-unsteady-question {
  background: linear-gradient(135deg, #fffaf0, #ffffff);
  border-left: 4px solid #d47a18;
}

.asset-proof-unsteady-question p,
.asset-proof-unsteady-question strong,
.asset-proof-unsteady-question div b {
  color: #8a4b00;
}

.asset-proof-unsteady-question p span {
  color: #8a4b00;
  background: #fff0cf;
}

.asset-proof-unsteady-question em {
  color: #8a4b00;
  background: rgba(212, 122, 24, 0.12);
}

.asset-proof-unsteady-question button {
  width: 100%;
  min-height: 42px;
  margin-top: 10px;
  color: #ffffff;
  background: #8a4b00;
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 930;
}

.asset-proof-unsteady-question button:active {
  transform: translateY(1px) scale(0.99);
}

.asset-proof-unsteady-question button:focus-visible {
  outline: 3px solid rgba(212, 122, 24, 0.24);
  outline-offset: 2px;
}

.speak-task-unsteady-question {
  margin-top: -2px;
}

.asset-proof-weakness-retention {
  background: linear-gradient(135deg, #f0faf6, #ffffff);
  border-left: 4px solid var(--green-dark);
}

.asset-proof-weakness-retention strong {
  color: var(--green-dark);
}

.asset-proof-weakness-retention button {
  width: 100%;
  min-height: 42px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 930;
}

.asset-proof-weakness-retention button:active {
  transform: translateY(1px) scale(0.99);
}

.asset-proof-weakness-retention button:focus-visible {
  outline: 3px solid rgba(17, 95, 74, 0.22);
  outline-offset: 2px;
}

.asset-proof-detail-growth {
  background: linear-gradient(135deg, #f7fbff, #ffffff);
  border-color: rgba(47, 127, 189, 0.16);
}

.asset-proof-detail-growth p,
.asset-proof-detail-growth strong {
  color: #174a70;
}

.asset-proof-detail-growth i {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  font-style: normal;
}

.asset-proof-detail-growth i small {
  padding: 7px 5px;
  color: #73817d;
  background: #ffffff;
  border: 1px solid rgba(47, 127, 189, 0.12);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 850;
  text-align: center;
}

.asset-proof-detail-growth i small.is-done {
  color: #ffffff;
  background: #2f7fbd;
}

.asset-proof-detail-history {
  background: linear-gradient(135deg, #ffffff, #f8fcfa);
}

.asset-proof-detail-history div {
  display: grid;
  gap: 8px;
}

.asset-proof-detail-history div span {
  display: grid;
  gap: 5px;
  padding: 10px;
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.1);
  border-radius: 8px;
}

.asset-proof-detail-history div b {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
  line-height: 1.25;
}

.asset-proof-detail-history div b small {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}

.asset-proof-detail-history div em,
.asset-proof-detail-history div i,
.asset-proof-detail-history div > span > small {
  display: block;
  color: #5f6f6a;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.4;
}

.asset-proof-detail-history div em {
  color: var(--ink);
  font-weight: 880;
}

.asset-proof-detail-history div i {
  color: #174a70;
}

.asset-proof-latest-result {
  background: linear-gradient(135deg, #f7fbff, #ffffff);
  border-color: rgba(47, 127, 189, 0.16);
}

.asset-proof-latest-result p span {
  color: #174a70;
  background: rgba(47, 127, 189, 0.1);
}

.asset-proof-latest-result strong {
  color: #174a70;
  font-size: 15px;
}

.asset-proof-latest-result div {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.asset-proof-latest-result div span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  color: #4b6574;
  background: #ffffff;
  border: 1px solid rgba(47, 127, 189, 0.12);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.asset-proof-latest-result div b {
  display: block;
  color: #174a70;
  font-size: 10px;
  font-weight: 940;
}

.asset-proof-latest-result em {
  display: block;
  padding: 8px 10px;
  margin-top: 8px;
  color: #174a70;
  background: rgba(47, 127, 189, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.asset-proof-latest-action-hint {
  display: block;
  padding: 7px 9px;
  margin-top: 8px;
  color: #174a70;
  background: rgba(47, 127, 189, 0.08);
  border: 1px solid rgba(47, 127, 189, 0.12);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.asset-proof-latest-result button {
  width: 100%;
  min-height: 44px;
  margin-top: 8px;
  color: #ffffff;
  background: #174a70;
  border: 0;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 930;
}

.asset-proof-latest-result button:active {
  transform: translateY(1px);
}

.asset-proof-latest-result button:focus-visible {
  outline: 3px solid rgba(47, 127, 189, 0.24);
  outline-offset: 2px;
}

.asset-proof-share-card {
  color: #ffffff;
  background: linear-gradient(135deg, #123f34, #1f6f89);
  border-color: rgba(18, 63, 52, 0.18);
  box-shadow: 0 12px 28px rgba(18, 63, 52, 0.12);
}

.asset-proof-share-card p {
  color: rgba(255, 255, 255, 0.88);
}

.asset-proof-share-card p span {
  color: #123f34;
  background: rgba(255, 255, 255, 0.86);
}

.asset-proof-share-card strong {
  color: #ffffff;
  font-size: 17px;
}

.asset-proof-share-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 10px 0;
}

.asset-proof-share-card div span {
  min-width: 0;
  padding: 8px 6px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 880;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
}

.asset-proof-share-card div b {
  display: block;
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 9px;
  font-weight: 900;
}

.asset-proof-share-card em,
.asset-proof-share-card small {
  display: block;
  color: rgba(255, 255, 255, 0.74);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.asset-proof-share-card em {
  padding: 8px 10px;
  margin-bottom: 8px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-weight: 880;
}

.asset-proof-share-card button {
  width: 100%;
  min-height: 42px;
  margin-bottom: 8px;
  color: var(--green-dark);
  background: #ffffff;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 950;
}

.achievement-certificate-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  margin-bottom: 12px;
  color: #ffffff;
  background: linear-gradient(145deg, #0b5a45, #174a70);
  border: 1px solid rgba(17, 95, 74, 0.22);
  border-radius: 8px;
  box-shadow: 0 18px 36px rgba(11, 90, 69, 0.16);
}

.achievement-certificate-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 920;
}

.achievement-certificate-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}

.achievement-certificate-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 7px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.achievement-certificate-status span {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding: 7px 5px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  text-align: center;
}

.achievement-certificate-status b,
.achievement-certificate-status small {
  display: block;
  margin: 0;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.achievement-certificate-status b {
  color: #ffffff;
  font-size: 10px;
  font-weight: 940;
}

.achievement-certificate-status small {
  color: rgba(255, 255, 255, 0.64);
  font-size: 9px;
  font-weight: 780;
}

.achievement-certificate-card strong,
.achievement-certificate-card em,
.achievement-certificate-card b,
.achievement-certificate-card i,
.achievement-certificate-card small {
  display: block;
  margin: 0;
  font-style: normal;
  line-height: 1.38;
}

.achievement-certificate-card > strong {
  color: #ffffff;
  font-size: 22px;
  letter-spacing: 0;
}

.achievement-certificate-card > em {
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 820;
}

.achievement-certificate-card > b {
  padding: 11px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
}

.achievement-certificate-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 9px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.achievement-certificate-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.achievement-certificate-meta span,
.achievement-certificate-metrics span {
  min-width: 0;
  padding: 8px 6px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  text-align: center;
}

.achievement-certificate-meta span {
  padding: 7px 6px;
  background: rgba(255, 255, 255, 0.08);
}

.achievement-certificate-meta small,
.achievement-certificate-metrics small {
  color: rgba(255, 255, 255, 0.68);
  font-size: 9px;
  font-weight: 900;
}

.achievement-certificate-meta strong,
.achievement-certificate-metrics strong {
  color: #ffffff;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.achievement-certificate-meta strong {
  font-size: 10px;
}

.achievement-certificate-card > i {
  padding: 9px 10px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 880;
}

.achievement-certificate-copy {
  display: grid;
  gap: 5px;
  padding: 10px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 8px;
}

.achievement-certificate-copy small,
.achievement-certificate-copy strong,
.achievement-certificate-copy em {
  display: block;
  margin: 0;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.achievement-certificate-copy small {
  color: rgba(11, 90, 69, 0.62);
  font-size: 9px;
  font-weight: 900;
}

.achievement-certificate-copy strong {
  color: #0b5a45;
  font-size: 12px;
  font-weight: 930;
}

.achievement-certificate-copy em {
  color: rgba(11, 90, 69, 0.66);
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
}

.achievement-certificate-share-script {
  display: grid;
  gap: 6px;
  padding: 10px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.achievement-certificate-share-script small,
.achievement-certificate-share-script strong,
.achievement-certificate-share-script em {
  display: block;
  margin: 0;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.achievement-certificate-share-script small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(11, 90, 69, 0.62);
  font-size: 9px;
  font-weight: 930;
}

.achievement-certificate-share-script small span {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #ffffff;
  background: #0b5a45;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 950;
}

.achievement-certificate-share-script strong {
  padding-left: 8px;
  color: #0b5a45;
  border-left: 3px solid rgba(56, 201, 163, 0.44);
  font-size: 11px;
  font-weight: 900;
}

.achievement-certificate-share-script em {
  color: rgba(11, 90, 69, 0.66);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
}

.achievement-certificate-first-asset {
  display: grid;
  gap: 5px;
  padding: 10px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.93);
  border-left: 4px solid #f0c35a;
  border-radius: 8px;
}

.achievement-certificate-first-asset small,
.achievement-certificate-first-asset strong,
.achievement-certificate-first-asset em,
.achievement-certificate-first-asset b,
.achievement-certificate-first-asset i {
  display: block;
  margin: 0;
  font-style: normal;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.achievement-certificate-first-asset small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(11, 90, 69, 0.62);
  font-size: 9px;
  font-weight: 930;
}

.achievement-certificate-first-asset small span {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #6b4b00;
  background: rgba(240, 195, 90, 0.22);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 950;
}

.achievement-certificate-first-asset strong {
  color: #0b5a45;
  display: -webkit-box;
  font-size: 12px;
  font-weight: 950;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.achievement-certificate-first-asset em,
.achievement-certificate-first-asset b,
.achievement-certificate-first-asset i {
  color: rgba(11, 90, 69, 0.68);
  font-size: 10px;
  font-weight: 780;
}

.achievement-certificate-weakness {
  display: grid;
  gap: 5px;
  padding: 10px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.94);
  border-left: 4px solid #38c9a3;
  border-radius: 8px;
}

.achievement-certificate-weakness small,
.achievement-certificate-weakness strong,
.achievement-certificate-weakness em,
.achievement-certificate-weakness i,
.achievement-certificate-weakness b {
  display: block;
  margin: 0;
  font-style: normal;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.achievement-certificate-weakness small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(11, 90, 69, 0.62);
  font-size: 9px;
  font-weight: 930;
}

.achievement-certificate-weakness small span {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #0b5a45;
  background: rgba(56, 201, 163, 0.18);
  border-radius: 999px;
}

.achievement-certificate-weakness strong {
  color: #0b5a45;
  font-size: 12px;
  font-weight: 950;
}

.achievement-certificate-weakness em,
.achievement-certificate-weakness i,
.achievement-certificate-weakness b {
  color: rgba(11, 90, 69, 0.68);
  font-size: 10px;
  font-weight: 780;
}

.achievement-certificate-weakness-plan {
  display: grid;
  gap: 4px;
  padding: 8px;
  margin-top: 3px;
  background: rgba(56, 201, 163, 0.08);
  border: 1px solid rgba(56, 201, 163, 0.18);
  border-radius: 7px;
}

.achievement-certificate-weakness-plan small b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #ffffff;
  background: #0b5a45;
  border-radius: 999px;
  font-size: 8px;
  line-height: 1;
}

.achievement-certificate-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 10px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  text-align: left;
}

.achievement-certificate-next-action span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.achievement-certificate-next-action small,
.achievement-certificate-next-action b,
.achievement-certificate-next-action em,
.achievement-certificate-next-action strong {
  display: block;
  margin: 0;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.achievement-certificate-next-action small {
  color: rgba(11, 90, 69, 0.62);
  font-size: 9px;
  font-weight: 900;
}

.achievement-certificate-next-action b {
  color: #0b5a45;
  font-size: 12px;
  font-weight: 940;
}

.achievement-certificate-next-action em {
  color: rgba(11, 90, 69, 0.66);
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
}

.achievement-certificate-next-action strong {
  flex: 0 0 auto;
  padding: 7px 9px;
  color: #ffffff;
  background: #0b5a45;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  text-align: center;
}

.achievement-certificate-path {
  display: grid;
  gap: 6px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.achievement-certificate-path p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 2px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 11px;
  font-weight: 920;
}

.achievement-certificate-path p span {
  flex: 0 0 auto;
  color: rgba(255, 255, 255, 0.58);
  font-size: 9px;
  font-weight: 820;
}

.achievement-certificate-path > button {
  display: grid;
  grid-template-columns: 28px 54px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  padding: 7px 0;
  color: inherit;
  background: transparent;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  text-align: left;
}

.achievement-certificate-path > button:first-of-type {
  border-top: 0;
}

.achievement-certificate-path b,
.achievement-certificate-path em,
.achievement-certificate-path strong,
.achievement-certificate-path small,
.achievement-certificate-path i {
  margin: 0;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.achievement-certificate-path b {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}

.achievement-certificate-path em {
  color: rgba(255, 255, 255, 0.74);
  font-size: 10px;
  font-style: normal;
  font-weight: 860;
}

.achievement-certificate-path strong {
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
}

.achievement-certificate-path small {
  grid-column: 3;
  color: rgba(255, 255, 255, 0.56);
  font-size: 9px;
  font-weight: 760;
}

.achievement-certificate-path i {
  grid-column: 4;
  grid-row: 1 / span 2;
  align-self: center;
  padding: 5px 7px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 9px;
  font-style: normal;
  font-weight: 920;
  white-space: nowrap;
}

.achievement-certificate-save-hint {
  display: grid;
  gap: 8px;
  padding: 10px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.achievement-certificate-save-hint p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: rgba(11, 90, 69, 0.72);
  font-size: 10px;
  font-weight: 940;
}

.achievement-certificate-save-hint p span {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #ffffff;
  background: #0b5a45;
  border-radius: 999px;
  font-size: 8px;
}

.achievement-certificate-save-hint div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.achievement-certificate-save-hint div span {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding: 7px 5px;
  background: rgba(221, 241, 234, 0.68);
  border-radius: 8px;
  text-align: center;
}

.achievement-certificate-save-hint small,
.achievement-certificate-save-hint strong,
.achievement-certificate-save-hint em,
.achievement-certificate-save-hint b {
  display: block;
  margin: 0;
  line-height: 1.26;
  overflow-wrap: anywhere;
}

.achievement-certificate-save-hint small {
  color: rgba(11, 90, 69, 0.6);
  font-size: 8px;
  font-weight: 880;
}

.achievement-certificate-save-hint strong {
  color: #0b5a45;
  font-size: 10px;
  font-weight: 940;
}

.achievement-certificate-save-hint em {
  color: rgba(11, 90, 69, 0.68);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
}

.achievement-certificate-save-hint b {
  width: fit-content;
  padding: 5px 8px;
  color: #0b5a45;
  background: rgba(56, 201, 163, 0.16);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 950;
}

.achievement-certificate-refresh-plan {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 11px;
  color: #ffffff;
  background: rgba(9, 69, 54, 0.76);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  text-align: left;
}

.achievement-certificate-refresh-plan span {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.achievement-certificate-refresh-plan small,
.achievement-certificate-refresh-plan strong,
.achievement-certificate-refresh-plan em,
.achievement-certificate-refresh-plan i,
.achievement-certificate-refresh-plan b {
  display: block;
  margin: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.achievement-certificate-refresh-plan small {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 9px;
  font-weight: 920;
}

.achievement-certificate-refresh-plan small b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 950;
  white-space: nowrap;
}

.achievement-certificate-refresh-plan strong {
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
}

.achievement-certificate-refresh-plan em,
.achievement-certificate-refresh-plan i {
  color: rgba(255, 255, 255, 0.7);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
}

.achievement-certificate-refresh-plan > b {
  flex: 0 0 auto;
  padding: 7px 9px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  text-align: center;
  white-space: nowrap;
}

.achievement-certificate-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.achievement-certificate-footer span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.achievement-certificate-footer b,
.achievement-certificate-footer small,
.achievement-certificate-footer strong {
  display: block;
  margin: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.achievement-certificate-footer b {
  color: #ffffff;
  font-size: 12px;
  font-weight: 940;
}

.achievement-certificate-footer small {
  color: rgba(255, 255, 255, 0.66);
  font-size: 9px;
  font-weight: 820;
}

.achievement-certificate-footer strong {
  flex: 0 1 auto;
  padding: 6px 8px;
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  text-align: center;
}

.achievement-certificate-card > small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 10px;
  font-weight: 760;
}

.achievement-certificate-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 10px;
  background: #ffffff;
  border: 1px solid rgba(17, 95, 74, 0.14);
  border-radius: 8px;
}

.achievement-certificate-actions button {
  min-height: 44px;
  color: var(--green-dark);
  background: #ddf1ea;
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 920;
}

.achievement-certificate-actions button:last-child {
  color: #ffffff;
  background: var(--green-dark);
}

.asset-proof-detail-next {
  background: linear-gradient(135deg, #fff8ef, #ffffff);
  border-color: rgba(235, 117, 71, 0.2);
}

.asset-proof-next-checks {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.asset-proof-next-checks span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  color: #5c4634;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(235, 117, 71, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.asset-proof-next-checks span b {
  display: block;
  color: #a44e1f;
  font-size: 10px;
  font-weight: 940;
}

.asset-proof-source-repair-next {
  display: block;
  padding: 9px 10px;
  margin-top: 8px;
  color: #71512d;
  background: rgba(255, 246, 216, 0.84);
  border: 1px solid rgba(197, 140, 40, 0.18);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 860;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.asset-proof-detail-next .asset-proof-detail-action-hint {
  display: block;
  padding: 8px 10px;
  margin-top: 8px;
  color: #71512d;
  background: rgba(255, 246, 216, 0.84);
  border: 1px solid rgba(197, 140, 40, 0.18);
  border-radius: 8px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.asset-proof-detail-next button,
.asset-proof-detail-empty button {
  width: 100%;
  min-height: 48px;
  margin: 10px 0 8px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
}

.asset-proof-detail-next small,
.asset-proof-detail-empty small {
  color: var(--muted);
}

.practice-hero {
  color: var(--white);
  background:
    linear-gradient(135deg, rgba(12, 80, 61, 0.94), rgba(28, 111, 184, 0.82)),
    url("https://images.unsplash.com/photo-1494412651409-8963ce7935a7?auto=format&fit=crop&w=900&q=80");
  background-position: center;
  background-size: cover;
}

.practice-hero span {
  display: block;
  margin-bottom: 34px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  font-weight: 820;
}

.practice-hero h2 {
  margin-bottom: 8px;
  font-size: 24px;
  line-height: 1.15;
}

.practice-hero p {
  margin-bottom: 16px;
  color: #d9eee6;
  font-size: 13px;
  line-height: 1.5;
}

.practice-hero-mission {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 12px;
}

.practice-hero .practice-hero-mission span {
  display: grid;
  min-width: 0;
  min-height: 48px;
  align-content: center;
  gap: 3px;
  padding: 7px 6px;
  margin: 0;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  overflow: hidden;
}

.practice-hero-mission small,
.practice-hero-mission strong {
  display: block;
  min-width: 0;
  line-height: 1.18;
}

.practice-hero-mission small {
  color: rgba(255, 255, 255, 0.72);
  font-size: 9px;
  font-weight: 900;
}

.practice-hero-mission strong {
  display: -webkit-box;
  min-height: 22px;
  overflow: hidden;
  color: #ffffff;
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.practice-hero button {
  min-height: 40px;
  padding: 0 18px;
  color: var(--green-dark);
  background: var(--white);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 820;
}

.practice-loop-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.15);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.practice-loop-card p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.practice-loop-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
}

.practice-loop-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.practice-loop-card ol {
  display: grid;
  gap: 6px;
  padding: 0;
  margin: 0 0 12px;
  list-style: none;
  counter-reset: practice-loop;
}

.practice-loop-card li {
  position: relative;
  min-height: 27px;
  padding: 7px 8px 7px 34px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.82);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
  counter-increment: practice-loop;
}

.practice-loop-card li::before {
  position: absolute;
  top: 7px;
  left: 8px;
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  color: #fff;
  content: counter(practice-loop);
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 860;
}

.practice-loop-card .app-primary-action {
  margin-top: 0;
}

.practice-weakness-repair-card {
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 13px 14px;
  margin-bottom: 12px;
  color: var(--ink);
  text-align: left;
  background: linear-gradient(135deg, #f0faf6, #ffffff);
  border: 1px solid rgba(56, 201, 163, 0.28);
  border-left: 4px solid #38c9a3;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 18px rgba(13, 74, 57, 0.06);
}

.practice-weakness-repair-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.practice-weakness-repair-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: rgba(210, 239, 230, 0.95);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.practice-weakness-repair-card strong,
.practice-weakness-repair-card em,
.practice-weakness-repair-card b,
.practice-weakness-repair-card small {
  display: block;
  min-width: 0;
}

.practice-weakness-repair-card strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.32;
}

.practice-weakness-repair-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.35;
}

.practice-weakness-repair-card div {
  display: grid;
  gap: 4px;
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
}

.practice-weakness-repair-card small {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
}

.practice-weakness-repair-card .practice-weakness-next-target {
  color: var(--ink);
  font-weight: 900;
}

.practice-weakness-repair-card b {
  width: fit-content;
  padding: 6px 10px;
  margin-top: 2px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.practice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.practice-grid button {
  min-height: 72px;
  padding: 12px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.practice-grid strong,
.practice-grid span {
  display: block;
}

.practice-grid strong {
  margin-bottom: 7px;
  font-size: 15px;
}

.practice-grid span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.app-topbar {
  justify-content: space-between;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 760;
}

.streak {
  padding: 6px 10px;
  color: var(--green-dark);
  background: #d8efe5;
  border-radius: 999px;
  font-size: 12px;
}

.app-hero-card {
  padding: 16px;
  margin-bottom: 14px;
  color: var(--white);
  background:
    linear-gradient(180deg, rgba(12, 80, 61, 0.18), rgba(12, 80, 61, 0.86)),
    url("https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=900&q=80");
  background-position: center;
  background-size: cover;
  border-radius: 8px;
}

.app-hero-card span {
  display: inline-flex;
  padding: 5px 8px;
  margin-bottom: 64px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 780;
}

.app-hero-card h2 {
  margin-bottom: 7px;
  font-size: 24px;
  line-height: 1.15;
}

.app-hero-card p {
  margin-bottom: 0;
  color: #d9eee6;
  font-size: 13px;
  line-height: 1.45;
}

.level-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  margin-bottom: 14px;
  color: var(--white);
  background: linear-gradient(135deg, var(--green-dark), #1c8b73);
  border-radius: 8px;
  box-shadow: 0 16px 30px rgba(12, 80, 61, 0.18);
}

.level-card span {
  display: block;
  margin-bottom: 8px;
  color: #bde4d8;
  font-size: 11px;
  font-weight: 820;
}

.level-card h2 {
  margin-bottom: 6px;
  font-size: 25px;
  line-height: 1.1;
}

.level-card p {
  margin-bottom: 0;
  color: #d9eee6;
  font-size: 13px;
  line-height: 1.45;
}

.level-card strong {
  display: grid;
  width: 56px;
  height: 56px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--green-dark);
  background: var(--white);
  border-radius: 50%;
  font-size: 15px;
}

.course-summary-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  margin-bottom: 14px;
  color: var(--ink);
  background: linear-gradient(135deg, #ffffff 0%, #e8f4ef 100%);
  border: 1px solid rgba(185, 213, 201, 0.95);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(18, 52, 42, 0.06);
}

.course-summary-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.course-summary-card span,
.course-summary-card em {
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 780;
}

.course-summary-card strong {
  color: var(--green-dark);
  font-size: 30px;
  line-height: 1;
}

.course-summary-card ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.course-summary-card li {
  min-height: 58px;
  padding: 9px 8px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(219, 228, 223, 0.9);
  border-radius: 8px;
}

.course-summary-card b {
  display: block;
  margin-bottom: 4px;
  color: var(--green-dark);
  font-size: 18px;
  line-height: 1.05;
}

.course-summary-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.45;
}

.course-map {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 4px 0 16px 20px;
  margin-bottom: 2px;
}

.course-map::before {
  content: "";
  position: absolute;
  top: 22px;
  bottom: 38px;
  left: 40px;
  width: 3px;
  background: #cfdfd8;
  border-radius: 999px;
}

.map-node {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 10px;
  align-items: center;
  min-height: 64px;
  padding: 10px 12px 10px 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.map-node span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--muted);
  background: var(--white);
  border: 2px solid #cfdfd8;
  border-radius: 50%;
  font-weight: 860;
}

.map-node strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}

.map-node em {
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 760;
}

.map-node::after {
  content: "";
  position: absolute;
  right: 0;
  left: 54px;
  height: 100%;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  z-index: -1;
}

.map-node.is-done span {
  color: var(--white);
  background: var(--green);
  border-color: var(--green);
}

.map-node.is-done em {
  color: var(--gold);
}

.map-node.is-current span {
  color: var(--white);
  background: var(--coral);
  border-color: var(--coral);
  box-shadow: 0 0 0 6px rgba(231, 101, 67, 0.16);
}

.map-node.is-current::after {
  background: #fff7f3;
  border-color: rgba(231, 101, 67, 0.32);
}

.map-node.is-current em {
  color: var(--coral);
}

.map-node.is-open span {
  color: var(--green-dark);
  background: #e3f0ea;
  border-color: var(--aqua);
}

.map-node.is-locked {
  cursor: default;
  opacity: 0.58;
}

.map-node.is-locked span {
  background: #edf2ef;
}

.level-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.level-chip {
  min-height: 38px;
  padding: 0 10px;
  color: var(--muted);
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 780;
}

.level-chip.is-done {
  color: var(--green);
}

.level-chip.is-active {
  color: var(--white);
  background: var(--green-dark);
  border-color: var(--green-dark);
}

.wordbank-banner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 12px;
  align-items: center;
  width: 100%;
  min-height: 66px;
  padding: 12px;
  color: var(--white);
  background: linear-gradient(135deg, #1c6fb8, #117a57);
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.wordbank-banner span,
.wordbank-banner strong,
.wordbank-banner em {
  display: block;
}

.wordbank-banner span {
  font-size: 13px;
  font-weight: 820;
}

.wordbank-banner strong {
  justify-self: end;
  font-size: 18px;
}

.wordbank-banner em {
  grid-column: 1 / -1;
  color: rgba(255, 255, 255, 0.78);
  font-style: normal;
  font-size: 12px;
}

.app-section-title {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4px 8px;
  margin: 4px 0 10px;
  font-size: 13px;
  font-weight: 820;
  overflow-wrap: anywhere;
}

.app-section-title span {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  text-align: right;
  overflow-wrap: anywhere;
}

.course-list {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.course-row,
.sentence-row,
.word-row,
.wordbank-row,
.app-nav {
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
}

.course-row {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.course-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--white);
  background: var(--green-dark);
  border-radius: 8px;
  font-size: 18px;
}

.course-row strong,
.sentence-row strong,
.word-row strong {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
}

.course-row span:not(.course-icon),
.sentence-row span,
.word-row span {
  color: var(--muted);
  font-size: 12px;
}

.course-row em {
  color: var(--green);
  font-style: normal;
  font-size: 12px;
  font-weight: 760;
}

.video-card {
  position: relative;
  min-height: 180px;
  padding: 16px;
  overflow: hidden;
  color: var(--white);
  background:
    linear-gradient(180deg, rgba(23, 33, 29, 0.16), rgba(23, 33, 29, 0.82)),
    url("https://images.unsplash.com/photo-1494412651409-8963ce7935a7?auto=format&fit=crop&w=900&q=80");
  background-position: center;
  background-size: cover;
  border-radius: 8px;
}

.play-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 760;
}

.play-dot {
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid var(--white);
}

.video-card h2 {
  position: absolute;
  right: 16px;
  bottom: 16px;
  left: 16px;
  margin: 0;
  font-size: 23px;
  line-height: 1.18;
}

.sentence-list,
.word-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.sentence-row,
.word-row {
  position: relative;
  display: block;
  padding: 12px;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.sentence-row em {
  display: inline-flex;
  margin-top: 8px;
  padding: 4px 7px;
  color: var(--green-dark);
  background: #e3f0ea;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 780;
}

.sentence-row small {
  position: absolute;
  right: 12px;
  bottom: 12px;
  color: var(--green);
  font-size: 11px;
  font-weight: 820;
}

.sentence-row.is-active,
.word-row.is-active,
.wordbank-row.is-active {
  outline: 2px solid rgba(59, 182, 163, 0.42);
}

.sentence-row.is-done {
  background: linear-gradient(180deg, #ffffff, #f3fbf7);
}

.sentence-row.is-done em {
  margin-right: 48px;
}

.wordbank-hero,
.vocab-detail-card {
  padding: 16px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, var(--green-dark), #1c6fb8);
  border-radius: 8px;
}

.wordbank-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.wordbank-hero p,
.wordbank-hero h2,
.wordbank-hero span,
.vocab-detail-card h2,
.vocab-detail-card p {
  margin: 0;
}

.wordbank-hero p,
.wordbank-hero span,
.vocab-detail-card p,
.vocab-id {
  color: rgba(255, 255, 255, 0.76);
}

.wordbank-hero p,
.vocab-id {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 820;
}

.wordbank-hero h2,
.vocab-detail-card h2 {
  margin-bottom: 6px;
  font-size: 21px;
  line-height: 1.15;
}

.wordbank-hero strong {
  display: grid;
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--green-dark);
  background: var(--white);
  border-radius: 50%;
  font-size: 15px;
}

.wordbank-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.wordbank-stats div {
  padding: 10px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
}

.wordbank-stats strong,
.wordbank-stats span {
  display: block;
}

.wordbank-stats strong {
  margin-bottom: 2px;
  font-size: 18px;
  line-height: 1.1;
}

.wordbank-stats span {
  color: var(--muted);
  font-size: 11px;
}

.wordbank-speaking-summary {
  display: grid;
  gap: 6px;
  padding: 12px;
  margin-bottom: 14px;
  color: var(--ink);
  background: #ffffff;
  border: 1px solid rgba(11, 90, 69, 0.16);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.wordbank-speaking-summary p,
.wordbank-speaking-summary strong,
.wordbank-speaking-summary em {
  margin: 0;
  line-height: 1.38;
}

.wordbank-speaking-summary p {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.wordbank-speaking-summary p span {
  flex: 1 1 auto;
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere;
}

.wordbank-speaking-summary strong {
  font-size: 13px;
}

.wordbank-speaking-summary em {
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
  font-weight: 720;
}

.wordbank-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  margin-bottom: 14px;
  background: #ffffff;
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
}

.wordbank-search span {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.wordbank-search input {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  background: rgba(236, 246, 242, 0.82);
  border: 1px solid rgba(11, 90, 69, 0.1);
  border-radius: 8px;
  padding: 9px 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 760;
  outline: none;
}

.wordbank-search input:focus {
  border-color: rgba(13, 129, 91, 0.42);
  box-shadow: 0 0 0 3px rgba(13, 129, 91, 0.1);
}

.wordbank-search input::placeholder {
  color: rgba(95, 112, 107, 0.78);
}

.wordbank-search button {
  min-height: 32px;
  padding: 0 9px;
  color: var(--green-dark);
  background: rgba(216, 238, 229, 0.92);
  border: 1px solid rgba(11, 90, 69, 0.12);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}

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

.category-chip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  align-items: center;
  min-height: 50px;
  padding: 7px 8px;
  color: var(--muted);
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.category-chip.is-active {
  color: var(--white);
  background: var(--green-dark);
  border-color: var(--green-dark);
}

.category-chip strong,
.category-chip span,
.category-chip em {
  display: block;
  line-height: 1;
}

.category-chip strong {
  font-size: 11px;
  font-weight: 820;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.category-chip span {
  min-width: 18px;
  padding: 3px 4px;
  color: var(--green-dark);
  background: rgba(216, 238, 229, 0.92);
  border-radius: 999px;
  text-align: center;
  font-size: 9px;
  font-weight: 900;
}

.category-chip em {
  grid-column: 1 / -1;
  color: rgba(95, 112, 107, 0.9);
  font-style: normal;
  font-size: 9px;
  font-weight: 840;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.category-chip.is-active span {
  color: var(--green-dark);
  background: var(--white);
}

.category-chip.is-active em {
  color: rgba(255, 255, 255, 0.82);
}

.wordbank-line-priority {
  display: grid;
  gap: 8px;
  padding: 10px;
  margin: -2px 0 14px;
  color: var(--green-dark);
  background: linear-gradient(135deg, rgba(216, 238, 229, 0.96), rgba(255, 255, 255, 0.95));
  border: 1px solid rgba(11, 90, 69, 0.12);
  border-radius: 8px;
}

.wordbank-line-priority--complete {
  background: linear-gradient(135deg, rgba(11, 90, 69, 0.96), rgba(22, 126, 107, 0.92));
  border-color: rgba(11, 90, 69, 0.28);
}

.wordbank-line-priority--complete p span,
.wordbank-line-priority--complete p strong {
  color: #ffffff;
}

.wordbank-line-priority--complete button {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
}

.wordbank-line-priority--complete button strong {
  color: #ffffff;
}

.wordbank-line-priority--complete button span {
  color: rgba(255, 255, 255, 0.78);
}

.wordbank-line-priority p {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
}

.wordbank-line-priority p span {
  color: #ef6548;
  font-size: 10px;
  font-weight: 940;
  text-transform: uppercase;
}

.wordbank-line-priority p strong {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.wordbank-line-priority div {
  display: grid;
  gap: 6px;
}

.wordbank-line-priority button {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  align-items: center;
  min-height: 40px;
  padding: 8px 10px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.wordbank-line-priority button strong {
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.wordbank-line-priority button span {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.wordbank-filter-hint {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 10px;
  margin: -2px 0 12px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
}

.wordbank-filter-hint strong {
  min-width: 0;
  color: var(--ink);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.wordbank-filter-hint span {
  flex: 1 1 160px;
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere;
}

.wordbank-list {
  display: grid;
  gap: 8px;
  padding-bottom: 12px;
}

.wordbank-empty {
  padding: 22px 14px;
  color: var(--muted);
  background: #ffffff;
  border: 1px dashed rgba(11, 90, 69, 0.25);
  border-radius: 8px;
  text-align: center;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.45;
}

.wordbank-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px 10px;
  align-items: center;
  min-height: 62px;
  padding: 11px 10px;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.wordbank-row > span {
  grid-row: 1 / 3;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.wordbank-row strong {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.wordbank-row em {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 650;
  text-align: right;
  overflow-wrap: anywhere;
}

.wordbank-row small {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.wordbank-row b {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--green);
  font-weight: 760;
  text-align: right;
  overflow-wrap: anywhere;
}

.wordbank-row-oral {
  grid-column: 2;
  display: block;
  padding: 7px 9px;
  color: #0b5a45;
  background: #e8f5ef;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 820;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.vocab-detail-card {
  color: var(--white);
  background:
    linear-gradient(135deg, rgba(12, 80, 61, 0.92), rgba(28, 111, 184, 0.84)),
    url("https://images.unsplash.com/photo-1566576721346-d4a3b4eaeb55?auto=format&fit=crop&w=900&q=80");
  background-position: center;
  background-size: cover;
}

.vocab-detail-card .phonetic {
  display: block;
  margin-bottom: 16px;
  color: #d7f0e8;
  font-size: 13px;
  font-weight: 720;
}

.vocab-detail-card p {
  margin-bottom: 16px;
  line-height: 1.55;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.tag-row span {
  padding: 6px 8px;
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.88);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 760;
}

.detail-actions {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: grid;
  gap: 8px;
  padding: 10px 0 2px;
  margin-top: 4px;
  background: linear-gradient(180deg, rgba(244, 248, 246, 0), #f4f8f6 22%);
}

.detail-actions .app-primary-action {
  margin-top: 0;
  box-shadow: 0 10px 24px rgba(12, 80, 61, 0.16);
}

.ghost-action {
  min-height: 42px;
  color: var(--green-dark);
  background: var(--white);
  border: 1px solid rgba(12, 80, 61, 0.18);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 780;
}

.lesson-card,
.score-panel,
.prompt-card,
.source-guidance-card,
.mini-screen,
.scene-grid article,
.flow-grid article,
.mvp-checklist {
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
}

.lesson-card {
  padding: 18px;
  margin-bottom: 14px;
}

.lesson-card.is-demo {
  margin-top: 0;
}

.sentence-stepper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 12px;
}

.sentence-stepper button {
  min-height: 38px;
  color: var(--muted);
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 820;
}

.sentence-stepper button.is-active {
  color: var(--white);
  background: var(--green-dark);
  border-color: var(--green-dark);
}

.sentence-stepper button.is-done {
  color: var(--green-dark);
  background: #e2f1eb;
  border-color: rgba(59, 182, 163, 0.38);
}

.sentence-stepper button.is-active.is-done {
  color: var(--white);
  background: var(--green-dark);
  border-color: var(--green-dark);
}

.tiny-label {
  margin-bottom: 10px;
  color: var(--coral);
  font-size: 12px;
  font-weight: 800;
}

.lesson-card h2 {
  margin-bottom: 12px;
  font-size: 23px;
  line-height: 1.2;
}

.lesson-card p:not(.tiny-label) {
  color: var(--muted);
  line-height: 1.5;
}

.audio-wave {
  display: flex;
  height: 54px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 20px 0;
}

.audio-wave span {
  width: 9px;
  height: 24px;
  background: var(--aqua);
  border-radius: 999px;
  animation: pulse 1.2s ease-in-out infinite;
}

.audio-wave span:nth-child(2) {
  height: 42px;
  animation-delay: 0.12s;
}

.audio-wave span:nth-child(3) {
  height: 32px;
  animation-delay: 0.22s;
}

.audio-wave span:nth-child(4) {
  height: 48px;
  animation-delay: 0.34s;
}

.audio-wave span:nth-child(5) {
  height: 28px;
  animation-delay: 0.46s;
}

@keyframes pulse {
  0%,
  100% {
    transform: scaleY(0.76);
  }
  50% {
    transform: scaleY(1.08);
  }
}

.speak-button,
.app-primary-action,
.mini-screen button {
  width: 100%;
  min-height: 46px;
  color: var(--white);
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  font: inherit;
  font-weight: 780;
}

.speak-button {
  cursor: pointer;
}

.speak-button.is-recording {
  background: linear-gradient(135deg, var(--green-dark), var(--coral));
  box-shadow: 0 0 0 8px rgba(234, 100, 67, 0.12);
  cursor: progress;
  animation: recordingPulse 0.9s ease-in-out infinite;
}

.speak-button:disabled {
  opacity: 1;
}

@keyframes recordingPulse {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1px);
  }
}

.app-primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  cursor: pointer;
  text-align: center;
}

.lesson-actions {
  display: grid;
  gap: 8px;
}

.lesson-actions .ghost-action,
.lesson-actions .app-primary-action {
  margin-top: 0;
}

.sentence-step-actions,
.chunk-word-actions {
  position: sticky;
  bottom: 0;
  z-index: 3;
  padding: 10px 0 2px;
  margin-top: 4px;
  background: linear-gradient(180deg, rgba(244, 248, 246, 0), #f4f8f6 22%);
}

.sentence-step-actions .app-primary-action,
.chunk-word-actions .app-primary-action {
  box-shadow: 0 10px 24px rgba(12, 80, 61, 0.16);
}

.sentence-step-actions .speak-button {
  box-shadow: 0 12px 26px rgba(12, 80, 61, 0.18);
}

.sentence-step-actions .ghost-action {
  min-height: 38px;
  background: rgba(255, 255, 255, 0.96);
}

.score-panel {
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  margin-bottom: 14px;
}

.score-number {
  display: block;
  color: var(--green);
  font-size: 44px;
  font-weight: 840;
  line-height: 1;
}

.score-label {
  color: var(--muted);
  font-size: 12px;
}

.score-panel ul {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
  color: var(--muted);
  font-size: 12px;
}

.score-panel li {
  display: flex;
  align-items: center;
  gap: 7px;
}

.score-panel li span,
.mvp-checklist span {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  background: var(--gold);
  border-radius: 999px;
}

.score-first-screen-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: -4px 0 12px;
}

.score-first-screen-strip span {
  min-width: 0;
  min-height: 48px;
  padding: 7px 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: #ffffff;
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 8px 18px rgba(12, 80, 61, 0.06);
}

.score-first-screen-strip small,
.score-first-screen-strip strong {
  display: block;
  line-height: 1.18;
}

.score-first-screen-strip small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
}

.score-first-screen-strip strong {
  display: -webkit-box;
  min-height: 23px;
  overflow: hidden;
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.score-task-mission-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: -4px 0 12px;
}

.score-task-mission-strip span {
  display: flex;
  min-width: 0;
  min-height: 46px;
  padding: 7px 6px;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: #f4fbf8;
  border: 1px solid rgba(56, 201, 163, 0.2);
  border-radius: 8px;
  text-align: center;
}

.score-task-mission-strip small,
.score-task-mission-strip strong {
  display: block;
  line-height: 1.18;
}

.score-task-mission-strip small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
}

.score-task-mission-strip strong {
  display: -webkit-box;
  min-height: 22px;
  overflow: hidden;
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.score-coach-snapshot-card {
  display: grid;
  gap: 9px;
  padding: 14px;
  margin-bottom: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #123f34, #176a88);
  border-radius: 8px;
  box-shadow: 0 14px 28px rgba(12, 80, 61, 0.14);
}

.score-coach-snapshot-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 10px;
  font-weight: 900;
}

.score-coach-snapshot-card p span {
  flex: 0 0 auto;
  padding: 4px 7px;
  color: #123f34;
  background: rgba(255, 255, 255, 0.88);
  border-radius: 999px;
  font-size: 9px;
}

.score-coach-snapshot-card strong,
.score-coach-snapshot-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.score-coach-snapshot-card strong {
  font-size: 18px;
  line-height: 1.25;
}

.score-coach-snapshot-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.score-coach-snapshot-card div span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 7px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.score-coach-snapshot-card div b {
  color: rgba(255, 255, 255, 0.68);
  font-size: 9px;
}

.score-coach-snapshot-card em {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.4;
}

.score-coach-next-utterance {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 8px 10px;
  color: #123f34;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  overflow-wrap: anywhere;
}

.score-coach-next-utterance small {
  color: #4d6a5f;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.1;
}

.score-coach-next-utterance span {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.score-coach-snapshot-card button {
  justify-self: start;
  padding: 8px 11px;
  color: #123f34;
  background: #ffffff;
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 920;
}

.score-speaking-order-card {
  display: grid;
  gap: 9px;
  padding: 13px;
  margin-bottom: 12px;
  background: #f6fbf8;
  border: 1px solid rgba(31, 143, 115, 0.16);
  border-radius: 8px;
}

.score-speaking-order-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

.score-speaking-order-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.score-speaking-order-card strong,
.score-speaking-order-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.score-speaking-order-card strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.32;
}

.score-speaking-order-card div {
  display: grid;
  gap: 6px;
}

.score-speaking-order-card div span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  min-width: 0;
  padding: 8px 9px;
  color: #42534e;
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.score-speaking-order-card div b {
  grid-column: 1 / -1;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 900;
}

.score-speaking-order-card div small {
  align-self: start;
  color: var(--green);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.score-speaking-order-card div span.is-weak {
  background: #fffaf2;
  border-color: rgba(216, 151, 37, 0.28);
}

.score-speaking-order-card div span.is-weak small {
  color: #a76516;
}

.score-speaking-order-card .score-speaking-order-repair {
  display: block;
  min-width: 0;
  padding: 8px 9px;
  color: #7a4d12;
  background: #fff6e8;
  border: 1px solid rgba(216, 151, 37, 0.18);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.score-speaking-order-card button {
  min-height: 40px;
  padding: 10px 12px;
  color: #ffffff;
  background: var(--green);
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.score-speaking-order-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.42;
}

.score-speaking-order-retry-result-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  margin-bottom: 12px;
  color: #5f3a0d;
  background: #fffaf2;
  border: 1px solid rgba(216, 151, 37, 0.22);
  border-left: 4px solid #d89725;
  border-radius: 8px;
}

.score-speaking-order-retry-result-card p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: space-between;
  color: #8b5d17;
  font-size: 11px;
  font-weight: 920;
  line-height: 1.25;
}

.score-speaking-order-retry-result-card p span {
  padding: 3px 7px;
  color: #ffffff;
  background: #a76516;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.score-speaking-order-retry-result-card strong,
.score-speaking-order-retry-result-card em,
.score-speaking-order-retry-result-card span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.score-speaking-order-retry-result-card strong {
  color: #4f320a;
  font-size: 13px;
  line-height: 1.35;
}

.score-speaking-order-retry-result-card div {
  display: grid;
  gap: 5px;
}

.score-speaking-order-retry-result-card div span {
  display: block;
  padding: 7px 8px;
  color: #72511d;
  background: rgba(255, 237, 207, 0.66);
  border: 1px solid rgba(216, 151, 37, 0.16);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
}

.score-speaking-order-retry-result-card div b {
  display: block;
  margin-bottom: 2px;
  color: #a76516;
  font-size: 10px;
  font-weight: 930;
}

.score-speaking-order-retry-result-card button {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  color: #ffffff;
  background: #a76516;
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 920;
  transition: transform 120ms ease, box-shadow 120ms ease, outline-color 120ms ease;
}

.review-entry-score-result-card button,
.review-deck-completion-card button,
.score-bottom-action-card button {
  transition: transform 120ms ease, box-shadow 120ms ease, outline-color 120ms ease;
}

.score-speaking-order-retry-result-card button:active,
.review-entry-score-result-card button:active,
.review-deck-completion-card button:active,
.score-bottom-action-card button:active {
  transform: translateY(1px) scale(0.99);
}

.score-speaking-order-retry-result-card button:focus-visible {
  outline: 2px solid rgba(216, 151, 37, 0.42);
  outline-offset: 2px;
}

.review-entry-score-result-card button:focus-visible,
.review-deck-completion-card button:focus-visible,
.score-bottom-action-card button:focus-visible {
  outline: 2px solid rgba(25, 198, 125, 0.42);
  outline-offset: 2px;
}

.score-speaking-order-success-next {
  display: block;
  padding: 8px 9px;
  color: #6b4612;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(216, 151, 37, 0.18);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.score-speaking-order-success-reason {
  display: block;
  padding: 0 2px;
  color: #876023;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.score-speaking-order-retry-result-card em {
  color: #876023;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.42;
}

.speaking-order-retry-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  color: #6d4512;
  background: #fff7ea;
  border: 1px solid rgba(216, 151, 37, 0.2);
  border-radius: 8px;
}

.speaking-order-retry-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
}

.speaking-order-retry-card p span {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #a76516;
  background: #ffedcf;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.speaking-order-retry-card strong,
.speaking-order-retry-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.speaking-order-retry-card strong {
  color: #5f3a0d;
  font-size: 13px;
  line-height: 1.35;
}

.speaking-order-retry-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.speaking-order-retry-steps span {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 6px 5px;
  color: #8b5d17;
  background: rgba(255, 237, 207, 0.62);
  border: 1px solid rgba(216, 151, 37, 0.18);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  overflow-wrap: anywhere;
}

.speaking-order-retry-steps span.is-active {
  color: #ffffff;
  background: #a76516;
  border-color: rgba(167, 101, 22, 0.34);
  box-shadow: 0 8px 16px rgba(167, 101, 22, 0.18);
}

.speaking-order-retry-steps b {
  display: inline-grid;
  flex: 0 0 16px;
  place-items: center;
  width: 16px;
  height: 16px;
  color: inherit;
  background: rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 950;
}

.speaking-order-retry-steps small {
  flex: 0 0 auto;
  color: inherit;
  font-size: 9px;
  font-weight: 950;
}

.speaking-order-retry-card em {
  color: #876023;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.42;
}

.review-entry-score-result-card {
  display: grid;
  gap: 9px;
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f2faf6);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(12, 80, 61, 0.07);
}

.review-entry-score-result-card p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.review-entry-score-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-entry-score-result-card strong,
.review-entry-score-result-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.review-entry-score-result-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.review-entry-score-result-card div {
  display: grid;
  gap: 7px;
}

.review-entry-score-result-card div span {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 8px 10px;
  color: #4f6961;
  background: #f8fcfa;
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.review-entry-score-result-card div b {
  min-width: 0;
  color: var(--green-dark);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.review-entry-score-result-card .review-entry-score-quick-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.review-entry-score-result-card .review-entry-score-quick-strip span {
  display: flex;
  min-width: 0;
  min-height: 48px;
  padding: 7px 6px;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: #ffffff;
  border: 1px solid rgba(185, 211, 199, 0.78);
  border-radius: 8px;
  text-align: center;
  overflow-wrap: anywhere;
}

.review-entry-score-result-card .review-entry-score-quick-strip small,
.review-entry-score-result-card .review-entry-score-quick-strip strong {
  display: block;
  min-width: 0;
  line-height: 1.18;
}

.review-entry-score-result-card .review-entry-score-quick-strip small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
}

.review-entry-score-result-card .review-entry-score-quick-strip strong {
  display: -webkit-box;
  min-height: 23px;
  overflow: hidden;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.review-entry-score-result-card em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.review-entry-score-result-card > small.queue-next-action-hint,
.review-deck-completion-card > small.queue-next-action-hint {
  display: block;
  min-width: 0;
  padding: 7px 10px;
  color: #1f6d56;
  background: #eef8f3;
  border: 1px solid rgba(17, 94, 70, 0.12);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 820;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.review-entry-score-result-card > small.queue-next-action-reason,
.review-deck-completion-card > small.queue-next-action-reason {
  margin-top: -4px;
  color: #4b5f5a;
  background: #f7fbf9;
}

.review-entry-score-result-card button {
  justify-self: stretch;
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 920;
  line-height: 1.25;
  white-space: normal;
}

.review-entry-score-result-card button.is-secondary {
  color: var(--green-dark);
  background: #eef8f3;
  border: 1px solid rgba(17, 94, 70, 0.2);
}

.score-weakness-repair-snapshot-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(135deg, #fff8ec, #ffffff);
  border: 1px solid rgba(216, 151, 37, 0.2);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(129, 82, 12, 0.08);
}

.score-weakness-repair-snapshot-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #8a5d15;
  font-size: 11px;
  font-weight: 920;
}

.score-weakness-repair-snapshot-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #6d430d;
  background: #fff0d4;
  border-radius: 999px;
  font-size: 10px;
}

.score-weakness-repair-snapshot-card strong,
.score-weakness-repair-snapshot-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.score-weakness-repair-snapshot-card strong {
  font-size: 16px;
  line-height: 1.32;
}

.score-weakness-repair-snapshot-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.score-weakness-repair-snapshot-card div span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 7px;
  color: #6b5a3a;
  background: rgba(216, 151, 37, 0.1);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 820;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.score-weakness-repair-snapshot-card div b {
  color: #8a5d15;
  font-size: 9px;
}

.score-weakness-repair-snapshot-card em {
  color: #5f5137;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.score-weakness-repair-snapshot-card button {
  justify-self: start;
  padding: 8px 11px;
  color: #ffffff;
  background: #8a5d15;
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 920;
}

.score-weakness-recording-result-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(135deg, #f3fbf7, #ffffff);
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-left: 4px solid #36b894;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(12, 80, 61, 0.08);
}

.score-weakness-repair-action-reason {
  display: block;
  padding: 8px 10px;
  color: #5f4a28;
  background: #fff8ea;
  border: 1px solid rgba(138, 93, 21, 0.1);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 820;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.score-weakness-recording-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 920;
}

.score-weakness-recording-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
}

.score-weakness-recording-result-card strong,
.score-weakness-recording-result-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.score-weakness-recording-result-card strong {
  font-size: 16px;
  line-height: 1.32;
}

.score-weakness-recording-utterance {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 8px 10px;
  color: #0c503d;
  background: #effaf5;
  border: 1px solid rgba(12, 80, 61, 0.1);
  border-radius: 8px;
}

.score-weakness-recording-utterance small {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 920;
  line-height: 1.2;
}

.score-weakness-recording-utterance span {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.score-weakness-recording-result-card div {
  display: grid;
  gap: 6px;
}

.score-weakness-recording-result-card div span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 10px;
  color: #53665f;
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.score-weakness-recording-result-card div b {
  color: var(--green-dark);
  font-size: 9px;
}

.score-weakness-recording-result-card div small {
  color: #0b8f6f;
  font-size: 10px;
  font-weight: 900;
}

.score-weakness-recording-result-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.45;
}

.score-unsteady-question-result-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(135deg, #fffaf0, #ffffff);
  border: 1px solid rgba(212, 122, 24, 0.18);
  border-left: 4px solid #d47a18;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(138, 75, 0, 0.07);
}

.score-unsteady-question-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #8a4b00;
  font-size: 11px;
  font-weight: 920;
}

.score-unsteady-question-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #8a4b00;
  background: #fff0cf;
  border-radius: 999px;
  font-size: 10px;
}

.score-unsteady-question-result-card strong,
.score-unsteady-question-result-card em {
  display: block;
  min-width: 0;
  color: #8a4b00;
  overflow-wrap: anywhere;
}

.score-unsteady-question-result-card strong {
  font-size: 16px;
  line-height: 1.32;
}

.score-unsteady-question-result-card div {
  display: grid;
  gap: 6px;
}

.score-unsteady-question-result-card div span {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 8px 10px;
  color: #6e6255;
  background: #ffffff;
  border: 1px solid rgba(212, 122, 24, 0.1);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.score-unsteady-question-result-card div b {
  color: #8a4b00;
  font-size: 10px;
  font-weight: 930;
}

.score-unsteady-question-result-card em {
  padding: 8px 10px;
  background: rgba(212, 122, 24, 0.12);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.45;
}

.score-unsteady-question-result-card button {
  width: 100%;
  min-height: 42px;
  color: #ffffff;
  background: #8a4b00;
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 930;
}

.score-unsteady-question-result-card button:active {
  transform: translateY(1px) scale(0.99);
}

.score-unsteady-question-result-card button:focus-visible {
  outline: 3px solid rgba(212, 122, 24, 0.24);
  outline-offset: 2px;
}

.certificate-refresh-result-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(135deg, #f2fff9, #ffffff);
  border: 1px solid rgba(42, 191, 140, 0.18);
  border-left: 4px solid #2abf8c;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(12, 80, 61, 0.08);
}

.certificate-refresh-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #0b5a45;
  font-size: 11px;
  font-weight: 920;
}

.certificate-refresh-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #0b5a45;
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
}

.certificate-refresh-result-card strong,
.certificate-refresh-result-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.certificate-refresh-result-card strong {
  font-size: 16px;
  line-height: 1.32;
}

.certificate-refresh-result-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.certificate-refresh-result-card div span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 7px;
  color: #4d685f;
  background: rgba(221, 241, 234, 0.62);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 820;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.certificate-refresh-result-card div b {
  color: #0b5a45;
  font-size: 9px;
}

.certificate-refresh-result-card em {
  color: #4d685f;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.certificate-refresh-result-card button {
  justify-self: start;
  padding: 8px 11px;
  color: #ffffff;
  background: #0b5a45;
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 920;
}

.score-weakness-review-carryover-card,
.queued-weakness-carryover-card,
.review-speak-weakness-carryover-card,
.review-score-weakness-carryover-result-card,
.review-weakness-next-speak-action-card,
.review-weakness-next-speak-prep-card,
.review-weakness-next-speak-result-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(135deg, #edf8f4, #ffffff);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(12, 80, 61, 0.08);
}

.score-weakness-review-carryover-card p,
.queued-weakness-carryover-card p,
.review-speak-weakness-carryover-card p,
.review-score-weakness-carryover-result-card p,
.review-weakness-next-speak-action-card p,
.review-weakness-next-speak-prep-card p,
.review-weakness-next-speak-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 920;
}

.score-weakness-review-carryover-card p span,
.queued-weakness-carryover-card p span,
.review-speak-weakness-carryover-card p span,
.review-score-weakness-carryover-result-card p span,
.review-weakness-next-speak-action-card p span,
.review-weakness-next-speak-prep-card p span,
.review-weakness-next-speak-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
}

.score-weakness-review-carryover-card strong,
.score-weakness-review-carryover-card em,
.queued-weakness-carryover-card strong,
.queued-weakness-carryover-card em,
.review-speak-weakness-carryover-card strong,
.review-speak-weakness-carryover-card em,
.review-score-weakness-carryover-result-card strong,
.review-score-weakness-carryover-result-card em,
.review-weakness-next-speak-action-card strong,
.review-weakness-next-speak-action-card em,
.review-weakness-next-speak-prep-card strong,
.review-weakness-next-speak-prep-card em,
.review-weakness-next-speak-result-card strong,
.review-weakness-next-speak-result-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.score-weakness-review-carryover-card strong,
.queued-weakness-carryover-card strong,
.review-speak-weakness-carryover-card strong,
.review-score-weakness-carryover-result-card strong,
.review-weakness-next-speak-action-card strong,
.review-weakness-next-speak-prep-card strong,
.review-weakness-next-speak-result-card strong {
  font-size: 16px;
  line-height: 1.32;
}

.score-weakness-review-carryover-card div,
.queued-weakness-carryover-card div,
.review-speak-weakness-carryover-card div,
.review-score-weakness-carryover-result-card div,
.review-weakness-next-speak-prep-card div,
.review-weakness-next-speak-result-card div {
  display: grid;
  gap: 6px;
}

.queued-weakness-carryover-card .queued-weakness-asset-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.score-weakness-review-carryover-card div span,
.queued-weakness-carryover-card div span,
.review-speak-weakness-carryover-card div span,
.review-score-weakness-carryover-result-card div span,
.review-weakness-next-speak-prep-card div span,
.review-weakness-next-speak-result-card div span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 10px;
  color: #53665f;
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.queued-weakness-carryover-card .queued-weakness-asset-strip span {
  min-height: 54px;
  padding: 8px 6px;
  align-content: center;
  text-align: center;
  background: #ffffff;
}

.queued-weakness-carryover-card .queued-weakness-asset-strip small,
.queued-weakness-carryover-card .queued-weakness-asset-strip strong {
  display: block;
  margin: 0;
  min-width: 0;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.queued-weakness-carryover-card .queued-weakness-asset-strip small {
  color: rgba(12, 80, 61, 0.62);
  font-size: 9px;
  font-weight: 900;
}

.queued-weakness-carryover-card .queued-weakness-asset-strip strong {
  display: -webkit-box;
  min-height: 25px;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.score-weakness-review-carryover-card div b,
.queued-weakness-carryover-card div b,
.review-speak-weakness-carryover-card div b,
.review-score-weakness-carryover-result-card div b,
.review-weakness-next-speak-prep-card div b,
.review-weakness-next-speak-result-card div b {
  color: var(--green-dark);
  font-size: 9px;
}

.score-weakness-review-carryover-card em,
.queued-weakness-carryover-card em,
.review-speak-weakness-carryover-card em,
.review-score-weakness-carryover-result-card em,
.review-weakness-next-speak-action-card em,
.review-weakness-next-speak-prep-card em,
.review-weakness-next-speak-result-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.45;
}

.score-weakness-review-carryover-card button,
.review-weakness-next-speak-action-card button {
  justify-self: start;
  padding: 8px 11px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 920;
}

.score-breakdown-card {
  display: grid;
  gap: 11px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f7fbf9);
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
}

.score-breakdown-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

.score-breakdown-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
}

.score-breakdown-card div {
  display: grid;
  gap: 9px;
}

.score-breakdown-card div > span {
  display: grid;
  gap: 5px;
}

.score-breakdown-card b {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
}

.score-breakdown-card b em {
  color: var(--green-dark);
  font-size: 12px;
  font-style: normal;
  font-weight: 940;
}

.score-breakdown-card i {
  display: block;
  height: 7px;
  overflow: hidden;
  background: #e4eee9;
  border-radius: 999px;
}

.score-breakdown-card i strong {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  border-radius: inherit;
}

.score-breakdown-card small,
.score-breakdown-card > em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
}

.score-breakdown-card > em {
  padding: 8px 10px;
  color: #30594d;
  background: #f0f8f5;
  border-radius: 8px;
  font-weight: 760;
}

.score-weakness-practice-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  border: 1px solid rgba(216, 151, 37, 0.22);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
}

.score-weakness-practice-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #8a5d15;
  font-size: 12px;
  font-weight: 900;
}

.score-weakness-practice-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #7a4a0e;
  background: #fff0d4;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.score-weakness-practice-card strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.score-weakness-practice-card ol {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: weakness-step;
}

.score-weakness-practice-card li {
  position: relative;
  padding-left: 24px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
  counter-increment: weakness-step;
}

.score-weakness-practice-card li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  color: #8a5d15;
  background: #fff0d4;
  border-radius: 999px;
  content: counter(weakness-step);
  font-size: 10px;
  font-weight: 900;
  line-height: 17px;
  text-align: center;
}

.score-weakness-practice-utterance {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 8px 10px;
  color: #684211;
  background: #ffffff;
  border: 1px solid rgba(216, 151, 37, 0.18);
  border-radius: 8px;
  overflow-wrap: anywhere;
}

.score-weakness-practice-utterance small {
  color: #9a6517;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.1;
}

.score-weakness-practice-utterance span {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.score-weakness-practice-card em {
  padding: 8px 10px;
  color: #684211;
  background: #fff6e7;
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.score-weakness-practice-card button {
  width: 100%;
  min-height: 42px;
  color: var(--white);
  background: #8a5d15;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.weakness-focus-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  background: #fff7e8;
  border: 1px solid rgba(216, 151, 37, 0.26);
  border-radius: 8px;
}

.weakness-focus-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #8a5d15;
  font-size: 11px;
  font-weight: 920;
}

.weakness-focus-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #7a4a0e;
  background: #ffedc8;
  border-radius: 999px;
  font-size: 10px;
}

.weakness-focus-card strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.35;
}

.weakness-focus-steps {
  display: grid;
  gap: 6px;
}

.weakness-focus-steps span {
  padding: 8px 10px;
  color: #5f4a28;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.4;
}

.weakness-focus-card em {
  color: #71511f;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.45;
}

.weakness-recording-plan {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(138, 93, 21, 0.12);
  border-radius: 8px;
}

.weakness-recording-plan p {
  color: #0c503d;
  font-size: 10px;
}

.weakness-recording-plan p span {
  color: #0c503d;
  background: #e0f2eb;
  font-size: 9px;
}

.weakness-recording-plan strong {
  color: var(--ink);
  font-size: 13px;
}

.weakness-recording-utterance {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 8px 10px;
  color: #5e461a;
  background: #fff8ea;
  border: 1px solid rgba(138, 93, 21, 0.12);
  border-radius: 8px;
}

.weakness-recording-utterance small {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: #7a4a0e;
  background: #ffedc8;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 920;
  line-height: 1.2;
}

.weakness-recording-utterance span {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.weakness-recording-plan div {
  display: grid;
  gap: 6px;
}

.weakness-recording-plan div span {
  display: grid;
  gap: 2px;
  padding: 7px 9px;
  color: #53665f;
  background: #f3f9f6;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
}

.weakness-recording-plan div b {
  color: #0c503d;
  font-size: 9px;
}

.weakness-recording-plan small {
  color: #71511f;
  font-size: 10px;
  font-weight: 820;
  line-height: 1.45;
}

.weakness-result-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: #0c503d;
  background: linear-gradient(135deg, #effaf5, #ffffff);
  border: 1px solid rgba(12, 80, 61, 0.16);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.weakness-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  font-weight: 920;
}

.weakness-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #0c503d;
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
}

.weakness-result-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.weakness-result-card div {
  display: grid;
  gap: 7px;
}

.weakness-result-card div span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.78);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.4;
}

.weakness-result-card div b {
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 900;
}

.weakness-result-card em {
  color: #315d51;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.45;
}

.score-progress-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(135deg, #f4fbf8, #ffffff);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(12, 80, 61, 0.08);
}

.score-progress-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.score-progress-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
}

.score-progress-card div {
  display: grid;
  grid-template-columns: 1fr 36px 1fr;
  gap: 8px;
  align-items: center;
}

.score-progress-card div span {
  display: grid;
  place-items: center;
  min-height: 70px;
  background: #fff;
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
}

.score-progress-card div b {
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
}

.score-progress-card div small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 860;
}

.score-progress-card div i {
  position: relative;
  height: 2px;
  background: #9adccb;
}

.score-progress-card div i::after {
  position: absolute;
  top: 50%;
  right: -1px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #36b894;
  border-right: 2px solid #36b894;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.score-progress-card strong {
  color: var(--green-dark);
  font-size: 15px;
  line-height: 1.35;
}

.score-progress-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.pass-decision-card {
  display: grid;
  gap: 11px;
  padding: 15px;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
}

.pass-decision-card.is-passed {
  background: linear-gradient(135deg, #f2fbf7, #ffffff);
  border-color: rgba(24, 129, 94, 0.22);
}

.pass-decision-card.needs-work {
  background: linear-gradient(135deg, #fff8f2, #ffffff);
  border-color: rgba(238, 100, 67, 0.2);
}

.pass-decision-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 920;
}

.pass-decision-card p span {
  flex: 0 0 auto;
  padding: 4px 9px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.pass-decision-card.needs-work p span {
  color: #b74a2f;
  background: #ffe5d9;
}

.pass-decision-card strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.pass-decision-card div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.pass-decision-card div span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 9px 8px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(12, 80, 61, 0.1);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
}

.pass-decision-card div b {
  color: var(--green-dark);
  font-size: 9px;
  font-weight: 920;
}

.pass-decision-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.pass-decision-action {
  width: 100%;
  min-height: 42px;
  color: #fff;
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 12px 22px rgba(12, 80, 61, 0.16);
  font-size: 13px;
  font-weight: 920;
}

.pass-decision-card.needs-work .pass-decision-action {
  background: #e96343;
  box-shadow: 0 12px 22px rgba(233, 99, 67, 0.14);
}

.recording-result-card {
  position: relative;
  padding: 15px 96px 15px 15px;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
}

.recording-result-card p {
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.recording-result-card strong {
  display: block;
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.recording-result-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.recording-result-card em {
  position: absolute;
  top: 16px;
  right: 15px;
  padding: 7px 10px;
  background: #ddf1ea;
  color: var(--green-dark);
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 880;
}

.sentence-handoff-score-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f7fffb, #ffffff);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-radius: 8px;
}

.sentence-handoff-score-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.sentence-handoff-score-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.sentence-handoff-score-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.sentence-handoff-score-card div {
  display: grid;
  gap: 7px;
}

.sentence-handoff-score-card div span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  color: var(--muted);
  background: rgba(12, 80, 61, 0.05);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.4;
}

.sentence-handoff-score-card div b {
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 920;
}

.sentence-handoff-score-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.handoff-retry-result-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: #0f241d;
  background: linear-gradient(135deg, #f2fff8, #ffffff 64%);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid #1f8f73;
  border-radius: 8px;
}

.handoff-retry-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.handoff-retry-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #dff5ed;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.handoff-retry-result-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.handoff-retry-result-card div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.handoff-retry-result-card div span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  color: var(--muted);
  background: rgba(12, 80, 61, 0.05);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.4;
}

.handoff-retry-result-card div b {
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 920;
}

.handoff-retry-result-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.handoff-retry-result-card button {
  justify-self: start;
  min-height: 38px;
  padding: 0 15px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 920;
}

.score-source-result-card,
.source-condition-score-card,
.review-source-retention-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f8fcfa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-left: 4px solid #2fb497;
  border-radius: 8px;
}

.score-source-result-card p,
.source-condition-score-card p,
.review-source-retention-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.score-source-result-card p span,
.source-condition-score-card p span,
.review-source-retention-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.score-source-result-card strong,
.source-condition-score-card strong,
.review-source-retention-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.42;
}

.score-source-result-card div,
.source-condition-score-card div,
.review-source-retention-card div {
  display: grid;
  gap: 7px;
}

.score-source-result-card div span,
.source-condition-score-card div span,
.review-source-retention-card div span {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
  align-items: start;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.score-source-result-card b,
.source-condition-score-card b,
.review-source-retention-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.source-condition-score-card {
  background: linear-gradient(135deg, #ffffff, #f3fbff);
  border-left-color: #2372a3;
}

.source-condition-score-card em {
  display: block;
  margin-top: 10px;
  padding: 8px 10px;
  color: #144760;
  background: #e8f6fd;
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.source-condition-score-card button {
  width: 100%;
  min-height: 42px;
  margin-top: 10px;
  border: 0;
  color: #ffffff;
  background: #2372a3;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 880;
  transition: transform 120ms ease, box-shadow 120ms ease, outline-color 120ms ease;
}

.source-condition-score-card button:active {
  transform: translateY(1px) scale(0.99);
}

.source-condition-score-card button:focus-visible {
  outline: 3px solid rgba(35, 114, 163, 0.26);
  outline-offset: 2px;
}

.source-condition-repair-score-card,
.review-source-repair-retention-card {
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  border: 1px solid rgba(150, 84, 38, 0.2);
  border-left: 4px solid #c1782d;
  border-radius: 8px;
}

.source-condition-repair-score-card p,
.review-source-repair-retention-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: #87501f;
  font-size: 12px;
  font-weight: 880;
}

.source-condition-repair-score-card p span,
.review-source-repair-retention-card p span {
  padding: 4px 8px;
  color: #87501f;
  background: #ffe7c5;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.source-condition-repair-score-card strong,
.review-source-repair-retention-card strong {
  display: block;
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.4;
}

.source-condition-repair-score-card div,
.review-source-repair-retention-card div {
  display: grid;
  gap: 7px;
  margin-bottom: 10px;
}

.source-condition-repair-score-card div span,
.review-source-repair-retention-card div span {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
}

.source-condition-repair-score-card b,
.review-source-repair-retention-card b {
  color: #87501f;
  font-size: 11px;
  font-weight: 880;
}

.source-condition-repair-score-card em,
.review-source-repair-retention-card em {
  display: block;
  color: #87501f;
  font-size: 12px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.45;
}

.source-condition-repair-score-card small {
  display: block;
  margin-top: 9px;
  padding: 8px 10px;
  color: #87501f;
  background: #fff1dc;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 780;
  line-height: 1.45;
}

.source-condition-repair-score-card button {
  width: 100%;
  min-height: 42px;
  margin-top: 10px;
  border: 0;
  color: #ffffff;
  background: #a65f19;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 880;
  transition: transform 120ms ease, box-shadow 120ms ease, outline-color 120ms ease;
}

.source-condition-repair-score-card button:active {
  transform: translateY(1px) scale(0.99);
}

.source-condition-repair-score-card button:focus-visible {
  outline: 3px solid rgba(166, 95, 25, 0.26);
  outline-offset: 2px;
}

.review-source-retention-card {
  border-left-color: #d89725;
}

.review-source-retention-card em {
  display: block;
  margin-top: 10px;
  padding: 8px 10px;
  color: #684211;
  background: #fff6e7;
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.customer-reply-check-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.16);
  border-radius: 8px;
}

.customer-reply-check-card p {
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.customer-reply-check-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.customer-reply-check-card div {
  display: grid;
  gap: 8px;
}

.customer-reply-check-card span {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
  align-items: start;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.customer-reply-check-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.chunk-speak-result-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f6fffb, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.chunk-speak-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.chunk-speak-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.chunk-speak-result-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.38;
}

.chunk-speak-result-card div {
  display: grid;
  gap: 8px;
}

.chunk-speak-result-card span {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  align-items: start;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.42;
}

.chunk-speak-result-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.chunk-speak-result-card em {
  padding: 8px 10px;
  color: #30594d;
  background: #eff8f4;
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.customer-next-reaction-card {
  padding: 15px;
  margin-bottom: 12px;
  background: #ffffff;
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(12, 80, 61, 0.06);
}

.customer-next-reaction-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
  line-height: 1.2;
}

.customer-next-reaction-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.customer-next-reaction-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.customer-next-reaction-card div {
  display: grid;
  gap: 8px;
}

.customer-next-reaction-card span {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.customer-next-reaction-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.customer-next-reaction-card small {
  display: block;
  margin-top: 10px;
  padding: 7px 9px;
  color: #58756d;
  background: #f0f8f5;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.35;
}

.score-feedback {
  padding: 15px;
  margin-bottom: 12px;
  background: #eef7f3;
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
}

.score-feedback p {
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 820;
}

.score-feedback strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.4;
}

.score-feedback span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.score-primary-action-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
  align-items: center;
  padding: 14px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, var(--green-dark), #1f89a8);
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(12, 80, 61, 0.16);
}

.score-primary-action-card span,
.score-primary-action-card strong,
.score-primary-action-card p {
  min-width: 0;
}

.score-primary-action-card span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 900;
}

.score-primary-action-card strong {
  display: block;
  font-size: 18px;
  line-height: 1.2;
}

.score-primary-action-card p {
  grid-column: 1 / 2;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.4;
}

.score-primary-action-card button {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  max-width: 86px;
  padding: 9px 12px;
  color: var(--green-dark);
  background: var(--white);
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.18;
  text-align: center;
}

.score-fixed-action {
  position: relative;
  z-index: 2;
  margin-bottom: 12px;
  box-shadow: 0 14px 30px rgba(12, 80, 61, 0.16);
}

.score-bottom-action-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 12px;
  align-items: center;
  padding: 13px;
  margin: 2px 0 12px;
  color: var(--ink);
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
  box-shadow: 0 10px 22px rgba(12, 80, 61, 0.08);
}

.score-bottom-action-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}

.score-bottom-action-card p span {
  flex: 0 0 auto;
  padding: 4px 7px;
  color: var(--green-dark);
  background: rgba(25, 198, 125, 0.12);
  border-radius: 999px;
  font-size: 9px;
}

.score-bottom-action-card strong {
  min-width: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.score-bottom-queue-hint {
  display: block;
  grid-column: 1 / -1;
  min-width: 0;
  color: #1f6d56;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.score-bottom-action-card button {
  padding: 8px 11px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.score-bottom-action-card button.is-secondary-route {
  color: var(--green-dark);
  background: #eef8f3;
  border: 1px solid rgba(17, 94, 70, 0.18);
}

.score-next-speaking-plan-card {
  display: grid;
  gap: 8px;
  padding: 13px;
  margin-bottom: 12px;
  background: #ffffff;
  border: 1px solid rgba(13, 96, 73, 0.14);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(12, 80, 61, 0.1);
}

.score-next-speaking-plan-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}

.score-next-speaking-plan-card p span {
  flex: 0 0 auto;
  padding: 4px 7px;
  color: var(--green-dark);
  background: rgba(25, 198, 125, 0.12);
  border-radius: 999px;
  font-size: 9px;
}

.score-next-speaking-plan-card strong,
.score-next-speaking-plan-card em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.score-next-speaking-plan-card strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
}

.score-next-speaking-plan-card em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.score-next-speaking-plan-card button {
  justify-self: start;
  padding: 8px 11px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.post-queue-fixed-action {
  position: absolute;
  right: 0;
  bottom: 70px;
  left: 0;
  z-index: 5;
  margin-bottom: 0;
  box-shadow: 0 18px 36px rgba(12, 80, 61, 0.22);
}

.post-queue-fixed-action strong {
  font-size: 16px;
}

.queued-asset-receipt-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, #0c503d, #176a88);
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(12, 80, 61, 0.14);
}

.queued-asset-receipt-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.queued-asset-receipt-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: #0c503d;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.queued-asset-receipt-card strong,
.queued-asset-receipt-card em,
.queued-asset-receipt-card b,
.queued-asset-receipt-card small {
  font-style: normal;
}

.queued-asset-receipt-card > strong {
  color: var(--white);
  font-size: 17px;
  line-height: 1.25;
}

.queued-asset-receipt-card > em,
.queued-asset-receipt-card > small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.42;
}

.queued-asset-receipt-card div {
  display: grid;
  gap: 7px;
}

.queued-asset-receipt-card div span {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
  padding: 9px 10px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 740;
  line-height: 1.4;
}

.queued-asset-receipt-card div b {
  color: var(--white);
  font-size: 11px;
  font-weight: 900;
}

.post-queue-handoff-card {
  display: grid;
  gap: 11px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f4fbf8, #ffffff);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-radius: 8px;
}

.post-queue-handoff-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.post-queue-handoff-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.post-queue-handoff-card strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.post-queue-handoff-card ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.post-queue-handoff-card li {
  padding: 8px 10px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(12, 80, 61, 0.1);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.4;
}

.post-queue-handoff-card button {
  width: 100%;
  min-height: 42px;
  color: #fff;
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 12px 22px rgba(12, 80, 61, 0.14);
  font-size: 13px;
  font-weight: 920;
}

.score-route-card {
  position: relative;
  padding: 15px 92px 15px 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #fff8ed);
  border: 1px solid rgba(216, 151, 37, 0.18);
  border-radius: 8px;
}

.score-route-card p {
  margin-bottom: 7px;
  color: #a76516;
  font-size: 11px;
  font-weight: 860;
}

.score-route-card strong {
  display: block;
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
}

.score-route-card span {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.score-route-card small {
  display: block;
  margin-bottom: 6px;
  color: #a76516;
  font-size: 10px;
  font-weight: 900;
}

.score-route-steps {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.score-route-steps li {
  position: relative;
  padding-left: 14px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
}

.score-route-steps li::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 6px;
  height: 6px;
  background: #d89725;
  border-radius: 999px;
  content: "";
}

.score-route-done {
  display: block;
  margin-top: 9px;
  padding: 7px 9px;
  color: #7a4a0e;
  background: rgba(255, 240, 212, 0.68);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.35;
}

.score-route-card button {
  position: absolute;
  top: 15px;
  right: 13px;
  max-width: 72px;
  padding: 7px 9px;
  color: #7a4a0e;
  background: #fff0d4;
  border: 0;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  line-height: 1.15;
  text-align: center;
}

.coach-correction-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.coach-correction-card p {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.coach-correction-card div {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 8px;
  align-items: start;
}

.coach-correction-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.coach-correction-card strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.coach-correction-card em {
  display: block;
  padding: 10px 11px;
  background: #eef7f3;
  color: var(--green-dark);
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.45;
}

.next-speak-card {
  position: relative;
  padding: 15px;
  margin-bottom: 12px;
  background: #fffaf2;
  border: 1px solid rgba(211, 143, 34, 0.2);
  border-radius: 8px;
}

.next-speak-card p {
  margin-bottom: 8px;
  color: #b4632f;
  font-size: 12px;
  font-weight: 850;
}

.next-speak-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.next-speak-card span {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.next-speak-card em {
  display: block;
  padding: 11px 12px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--ink);
  border: 1px solid rgba(211, 143, 34, 0.18);
  border-radius: 8px;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.45;
}

.next-speak-card b {
  position: absolute;
  top: 15px;
  right: 15px;
  color: #b4632f;
  font-size: 11px;
}

.prompt-card {
  padding: 16px;
  background: #17352b;
  color: var(--white);
}

.prompt-card p {
  margin-bottom: 10px;
  color: #c9dfd5;
  font-size: 13px;
  line-height: 1.5;
}

.prompt-card strong {
  display: block;
  line-height: 1.45;
}

.prompt-card em {
  display: block;
  margin-top: 10px;
  color: #c9dfd5;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.source-guidance-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f7fbf9);
  border-left: 4px solid var(--green);
}

.source-guidance-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.source-guidance-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.source-guidance-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.source-detail-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  margin: 9px 0;
  background: #eef7f3;
  border: 1px solid #d7e8e1;
  border-radius: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 850;
}

.source-detail-row span {
  color: var(--muted);
}

.source-detail-row b,
.source-detail-row i {
  display: inline;
  color: var(--green-dark);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.35;
}

.source-detail-row i {
  padding: 3px 6px;
  background: #ffffff;
  border-radius: 999px;
  white-space: nowrap;
}

.source-guidance-card em,
.source-guidance-card .source-action {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

.source-speaking-steps {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.source-speaking-steps span {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 7px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
}

.source-speaking-steps b {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: #ffffff;
  background: var(--green);
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
}

.source-guidance-card .source-action {
  margin-top: 9px;
  color: var(--green-dark);
}

.sentence-handoff-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef8f4);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.sentence-handoff-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.sentence-handoff-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.sentence-handoff-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.sentence-handoff-card div {
  display: grid;
  gap: 7px;
}

.sentence-handoff-card div span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.78);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.4;
}

.sentence-handoff-card div b,
.sentence-handoff-card li b {
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 920;
}

.sentence-handoff-card ul {
  display: grid;
  gap: 6px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.sentence-handoff-card li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
}

.sentence-handoff-card li b {
  flex: 0 0 auto;
  padding: 3px 7px;
  background: rgba(12, 80, 61, 0.08);
  border-radius: 999px;
}

.sentence-handoff-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.first-asset-sentence-card,
.first-asset-words-card,
.first-asset-speak-card,
.first-asset-score-card,
.first-asset-review-card {
  display: grid;
  gap: 9px;
  padding: 13px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f2faf6);
  border: 1px solid rgba(31, 143, 115, 0.16);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(12, 80, 61, 0.06);
}

.first-asset-words-card,
.first-asset-speak-card,
.first-asset-score-card,
.first-asset-review-card {
  background: linear-gradient(135deg, #ffffff, #f7fcfa);
}

.first-asset-sentence-card p,
.first-asset-words-card p,
.first-asset-speak-card p,
.first-asset-score-card p,
.first-asset-review-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
  line-height: 1.2;
}

.first-asset-sentence-card p span,
.first-asset-words-card p span,
.first-asset-speak-card p span,
.first-asset-score-card p span,
.first-asset-review-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 930;
}

.first-asset-sentence-card > strong,
.first-asset-words-card > strong,
.first-asset-speak-card > strong,
.first-asset-score-card > strong,
.first-asset-review-card > strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.3;
}

.first-asset-sentence-card div,
.first-asset-words-card div,
.first-asset-speak-card div,
.first-asset-score-card div,
.first-asset-review-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.first-asset-sentence-card div span,
.first-asset-words-card div span,
.first-asset-speak-card div span,
.first-asset-score-card div span,
.first-asset-review-card div span {
  display: grid;
  min-width: 0;
  min-height: 44px;
  align-content: center;
  gap: 2px;
  padding: 7px 6px;
  background: #f4faf7;
  border: 1px solid rgba(31, 143, 115, 0.12);
  border-radius: 8px;
  text-align: center;
}

.first-asset-sentence-card small,
.first-asset-sentence-card b,
.first-asset-words-card small,
.first-asset-words-card b,
.first-asset-speak-card small,
.first-asset-speak-card b,
.first-asset-score-card small,
.first-asset-score-card b,
.first-asset-review-card small,
.first-asset-review-card b {
  display: block;
  min-width: 0;
  line-height: 1.15;
}

.first-asset-sentence-card small,
.first-asset-words-card small,
.first-asset-speak-card small,
.first-asset-score-card small,
.first-asset-review-card small {
  color: rgba(12, 80, 61, 0.68);
  font-size: 9px;
  font-weight: 900;
}

.first-asset-sentence-card b,
.first-asset-words-card b,
.first-asset-speak-card b,
.first-asset-score-card b,
.first-asset-review-card b {
  display: -webkit-box;
  overflow: hidden;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.first-asset-sentence-card em,
.first-asset-words-card em,
.first-asset-speak-card em,
.first-asset-score-card em,
.first-asset-review-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.speak-task-card,
.dialogue-card,
.recording-prep-card,
.speaking-reply-frame-card,
.speaking-scaffold-card,
.speaking-pass-card,
.review-card,
.review-task-card,
.review-coach-card,
.loop-card {
  padding: 16px;
  margin-bottom: 12px;
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
}

.speak-task-card {
  background: linear-gradient(135deg, #f7fbf9, #edf7f3);
}

.speak-task-card p,
.dialogue-card p,
.review-card p,
.review-task-card p,
.review-coach-card p,
.loop-card span {
  margin-bottom: 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.45;
}

.speak-task-card h2,
.review-card h2 {
  margin-bottom: 13px;
  font-size: 21px;
  line-height: 1.25;
}

.speak-task-quick-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 11px;
}

.speak-task-quick-strip span {
  min-width: 0;
  min-height: 46px;
  padding: 7px 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(185, 211, 199, 0.78);
  border-radius: 8px;
  text-align: center;
}

.speak-task-quick-strip.is-independent span {
  background: #ffffff;
  border-color: rgba(56, 201, 163, 0.2);
}

.speak-task-quick-strip small,
.speak-task-quick-strip strong {
  display: block;
  line-height: 1.18;
}

.speak-task-quick-strip small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
}

.speak-task-quick-strip strong {
  display: -webkit-box;
  min-height: 22px;
  overflow: hidden;
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.target-chunks {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0 16px;
}

.target-chunks span {
  padding: 6px 8px;
  color: var(--green-dark);
  background: #e1f0ea;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 820;
}

.speak-recording-control {
  display: grid;
  gap: 9px;
  padding: 13px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, var(--green-dark), #176f87);
  border-radius: 8px;
  box-shadow: 0 14px 28px rgba(12, 80, 61, 0.16);
}

.speak-sticky-control {
  position: absolute;
  right: 0;
  bottom: 70px;
  left: 0;
  z-index: 5;
  box-shadow: 0 16px 34px rgba(12, 80, 61, 0.22);
}

.speak-recording-control span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-weight: 880;
}

.speak-recording-control.is-review {
  background: linear-gradient(135deg, #0c503d, #8a5d15);
}

.review-recording-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.review-recording-meta b,
.review-recording-meta i,
.speak-recording-control strong {
  min-width: 0;
}

.review-recording-meta b {
  color: var(--white);
  font-size: 12px;
  font-weight: 900;
}

.review-recording-meta i {
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.25;
  text-align: right;
}

.speak-recording-control strong {
  display: block;
  color: var(--white);
  font-size: 13px;
  font-weight: 880;
  line-height: 1.35;
}

.review-recording-target-hint {
  display: block;
  min-width: 0;
  padding: 7px 9px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 840;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.speaking-order-recording-hint {
  padding: 6px 8px;
  font-size: 10px;
  font-weight: 860;
  line-height: 1.28;
}

.weakness-recording-control-utterance {
  padding: 6px 8px;
  color: #fff8dd;
  background: rgba(255, 199, 90, 0.18);
  border-color: rgba(255, 216, 142, 0.28);
  font-size: 10px;
  font-weight: 880;
  line-height: 1.28;
}

.review-recording-prep-steps,
.speak-recording-prep-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.review-recording-prep-steps span,
.speak-recording-prep-steps span {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 6px 5px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 860;
  line-height: 1.1;
  white-space: nowrap;
}

.review-recording-prep-steps b,
.speak-recording-prep-steps b {
  display: grid;
  width: 15px;
  height: 15px;
  place-items: center;
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.86);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}

.speak-recording-control .speak-button {
  min-height: 54px;
  color: var(--green-dark);
  background: var(--white);
  border-radius: 999px;
  font-size: 15px;
  box-shadow: 0 9px 18px rgba(0, 0, 0, 0.12);
}

.speak-recording-control .speak-button.is-recording {
  color: var(--white);
  background: linear-gradient(135deg, var(--coral), #d89725);
  box-shadow: 0 0 0 8px rgba(234, 100, 67, 0.18);
}

.speak-recording-control em {
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-style: normal;
  font-weight: 720;
  line-height: 1.45;
}

.chunk-speak-carryover-card,
.review-chunk-speak-carryover-card,
.source-speak-carryover-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f5fffa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid #1f8f73;
  border-radius: 8px;
}

.review-chunk-speak-carryover-card {
  background: linear-gradient(135deg, #f4fbf8, #ffffff);
  border-color: rgba(12, 80, 61, 0.22);
  border-left-color: var(--green-dark);
}

.chunk-speak-carryover-card p,
.review-chunk-speak-carryover-card p,
.source-speak-carryover-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.chunk-speak-carryover-card p span,
.review-chunk-speak-carryover-card p span,
.source-speak-carryover-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.chunk-speak-carryover-card strong,
.review-chunk-speak-carryover-card strong,
.source-speak-carryover-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.38;
}

.chunk-speak-carryover-card div,
.review-chunk-speak-carryover-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.chunk-speak-carryover-card div span,
.review-chunk-speak-carryover-card div span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px;
  color: var(--muted);
  background: rgba(12, 80, 61, 0.05);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 740;
  line-height: 1.35;
}

.chunk-speak-carryover-card div b,
.review-chunk-speak-carryover-card div b {
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 920;
}

.chunk-speak-carryover-card em,
.review-chunk-speak-carryover-card em,
.source-speak-carryover-card em,
.source-speak-carryover-card small {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.source-speak-carryover-card {
  background: linear-gradient(135deg, #ffffff, #f6fbf8);
  border-left-color: #2fb497;
}

.source-speak-route {
  display: grid;
  gap: 6px;
}

.source-speak-route span {
  display: grid;
  grid-template-columns: 21px 1fr;
  align-items: center;
  gap: 7px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}

.source-speak-route b {
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  color: #ffffff;
  background: #2fb497;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
}

.review-speak-focus-card,
.review-speak-source-card,
.review-speak-entry-card,
.review-source-condition-carryover-card,
.certificate-refresh-practice-card,
.profile-asset-entry-card,
.profile-asset-proof-carryover-card,
.profile-asset-previous-transfer-card,
.profile-asset-transfer-check-card,
.profile-asset-practice-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f0f8f5);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.review-speak-focus-card p,
.review-speak-source-card p,
.review-speak-entry-card p,
.review-source-condition-carryover-card p,
.certificate-refresh-practice-card p,
.profile-asset-entry-card p,
.profile-asset-proof-carryover-card p,
.profile-asset-previous-transfer-card p,
.profile-asset-transfer-check-card p,
.profile-asset-practice-card p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 880;
  line-height: 1.2;
}

.review-speak-focus-card p span,
.review-speak-source-card p span,
.review-speak-entry-card p span,
.review-source-condition-carryover-card p span,
.certificate-refresh-practice-card p span,
.profile-asset-entry-card p span,
.profile-asset-proof-carryover-card p span,
.profile-asset-previous-transfer-card p span,
.profile-asset-transfer-check-card p span,
.profile-asset-practice-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.review-speak-focus-card strong,
.review-speak-source-card strong,
.review-speak-entry-card strong,
.review-source-condition-carryover-card strong,
.certificate-refresh-practice-card strong,
.profile-asset-entry-card strong,
.profile-asset-proof-carryover-card strong,
.profile-asset-previous-transfer-card strong,
.profile-asset-transfer-check-card strong,
.profile-asset-practice-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.review-speak-focus-card div,
.review-speak-source-card div,
.review-speak-entry-card div,
.review-source-condition-carryover-card div,
.certificate-refresh-practice-card div,
.profile-asset-entry-card div,
.profile-asset-proof-carryover-card div,
.profile-asset-previous-transfer-card div,
.profile-asset-transfer-check-card div,
.profile-asset-practice-card div {
  display: grid;
  gap: 8px;
}

.profile-asset-entry-card {
  background: linear-gradient(135deg, #0b5a45, #1f8f73);
  border-color: rgba(11, 90, 69, 0.2);
  border-left-color: #083f31;
}

.profile-asset-entry-card p,
.profile-asset-entry-card strong,
.profile-asset-entry-card b,
.profile-asset-entry-card em {
  color: #ffffff;
}

.profile-asset-entry-card p span {
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.82);
}

.profile-asset-entry-card strong {
  margin-bottom: 9px;
  font-size: 15px;
}

.profile-asset-entry-card div {
  padding: 10px;
  margin-bottom: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.profile-asset-entry-card div span {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 8px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-entry-card div b {
  font-size: 11px;
  font-weight: 920;
}

.profile-asset-entry-card em {
  display: block;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.45;
}

.profile-asset-previous-transfer-card {
  background: linear-gradient(135deg, #f7fbff, #ffffff);
  border-left-color: #2f7fbd;
}

.profile-asset-previous-transfer-card strong {
  margin-bottom: 7px;
  color: #174a70;
  font-size: 15px;
}

.profile-asset-previous-transfer-card em,
.profile-asset-previous-transfer-card i,
.profile-asset-previous-transfer-card small {
  display: block;
  color: #5f6f6a;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-previous-transfer-card em {
  margin-bottom: 8px;
  color: #174a70;
}

.profile-asset-previous-transfer-card div {
  padding: 10px;
  margin-bottom: 8px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(47, 127, 189, 0.14);
  border-radius: 8px;
}

.profile-asset-previous-transfer-card div span {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
  color: #5f6f6a;
  font-size: 11px;
  font-weight: 740;
  line-height: 1.45;
}

.profile-asset-previous-transfer-card div b {
  color: #174a70;
  font-size: 11px;
  font-weight: 900;
}

.profile-asset-previous-transfer-card i {
  padding: 8px 10px;
  margin-bottom: 7px;
  color: #174a70;
  background: rgba(220, 238, 251, 0.72);
  border-radius: 8px;
}

.profile-asset-proof-carryover-card {
  color: #ffffff;
  background: linear-gradient(135deg, #0b5a45, #174a70);
  border-color: rgba(11, 90, 69, 0.2);
  border-left-color: #2abf8c;
}

.profile-asset-proof-carryover-card p,
.profile-asset-proof-carryover-card strong,
.profile-asset-proof-carryover-card b {
  color: #ffffff;
}

.profile-asset-proof-carryover-card p span {
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.86);
}

.profile-asset-proof-carryover-card strong {
  margin-bottom: 9px;
  font-size: 15px;
}

.profile-asset-proof-carryover-card div {
  padding: 10px;
  margin-bottom: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.profile-asset-proof-carryover-card div span {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 8px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-proof-carryover-card div b {
  font-size: 11px;
  font-weight: 920;
}

.profile-asset-proof-carryover-card em,
.profile-asset-proof-carryover-card small {
  display: block;
  color: rgba(255, 255, 255, 0.84);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-proof-carryover-card em {
  padding: 8px 10px;
  margin-bottom: 7px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-weight: 850;
}

.profile-asset-proof-carryover-card small {
  color: rgba(255, 255, 255, 0.66);
  font-weight: 680;
}

.profile-asset-transfer-check-card {
  background: linear-gradient(135deg, #ffffff, #fff8e8);
  border-left-color: #d99320;
}

.profile-asset-transfer-check-card strong {
  font-size: 15px;
}

.profile-asset-transfer-check-card div {
  padding: 10px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(217, 147, 32, 0.16);
  border-radius: 8px;
}

.profile-asset-transfer-check-card div span {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 8px;
  color: #5f6f6a;
  font-size: 11px;
  font-weight: 740;
  line-height: 1.45;
}

.profile-asset-transfer-check-card div b {
  color: #8a5b0f;
  font-size: 11px;
  font-weight: 900;
}

.profile-asset-transfer-check-card em,
.profile-asset-transfer-check-card small {
  display: block;
  padding: 8px 10px;
  color: #644917;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-transfer-check-card small {
  margin-top: -2px;
  color: #6b7d78;
  background: transparent;
  padding: 0;
}

.review-speak-source-card {
  background: linear-gradient(135deg, #f8fcfa, #ffffff);
  border-left-color: #2fb497;
}

.review-speak-entry-card {
  background: linear-gradient(135deg, #ffffff, #fff8eb);
  border-color: rgba(216, 151, 37, 0.2);
  border-left-color: #d89725;
}

.review-speak-entry-card p,
.review-speak-entry-card p span {
  color: #8a5d15;
}

.review-speak-entry-card p span {
  background: #fff1d5;
}

.review-speak-entry-card div {
  margin-bottom: 9px;
}

.review-speak-entry-card div span {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 10px;
  color: #6d604c;
  background: #fffaf2;
  border: 1px solid rgba(216, 151, 37, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}

.review-speak-entry-card div b {
  color: #8a5d15;
  font-weight: 900;
}

.review-speak-entry-card em {
  display: block;
  padding: 8px 10px;
  color: #5f5038;
  background: #fffaf2;
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.4;
}

.review-speak-source-card div span {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
}

.review-speak-source-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-speak-source-card em {
  display: block;
  padding: 8px 10px;
  color: #30594d;
  background: #f0f8f5;
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.review-source-condition-carryover-card {
  background: linear-gradient(135deg, #ffffff, #f5fbf8);
  border-left-color: #1c6fb8;
}

.review-source-condition-carryover-card div {
  padding: 10px;
  background: #f8fcfa;
  border: 1px solid rgba(31, 143, 115, 0.12);
  border-radius: 8px;
}

.review-source-condition-carryover-card div span {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
}

.review-source-condition-carryover-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-source-condition-carryover-card em {
  display: block;
  padding: 8px 10px;
  margin-top: 10px;
  color: #30594d;
  background: #f0f8f5;
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-practice-card .asset-practice-scenario {
  padding: 10px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, rgba(17, 95, 74, 0.08), rgba(42, 191, 140, 0.08));
  border: 1px solid rgba(17, 95, 74, 0.12);
  border-radius: 8px;
}

.profile-asset-practice-card .asset-practice-scenario b {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.profile-asset-practice-card .asset-practice-scenario b small {
  margin: 0;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 9px;
  white-space: nowrap;
}

.profile-asset-practice-card .asset-practice-scenario strong {
  margin: 6px 0 4px;
  font-size: 18px;
}

.profile-asset-practice-card .asset-practice-scenario em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.profile-asset-practice-card .asset-practice-scenario span {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.profile-asset-practice-card .asset-practice-scenario span small {
  margin: 0;
  padding: 4px 6px;
  color: #58756d;
  background: #ffffff;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 850;
}

.profile-asset-practice-card .asset-transfer-goal {
  gap: 7px;
  padding: 10px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, rgba(42, 191, 140, 0.14), rgba(255, 245, 223, 0.72));
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-radius: 8px;
}

.profile-asset-practice-card .asset-transfer-goal b {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 920;
}

.profile-asset-practice-card .asset-transfer-goal b small {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #ffffff;
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}

.profile-asset-practice-card .asset-transfer-goal strong {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.profile-asset-practice-card .asset-transfer-goal em {
  margin: 0;
  color: #58756d;
  font-size: 10px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.4;
}

.certificate-refresh-practice-card div span,
.review-speak-focus-card div span,
.profile-asset-practice-card div span {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.certificate-refresh-practice-card b,
.review-speak-focus-card b,
.profile-asset-practice-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.certificate-refresh-practice-card em {
  display: block;
  margin-top: 9px;
  padding: 8px 10px;
  color: #0b5a45;
  background: rgba(221, 241, 234, 0.72);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.42;
}

.review-speak-focus-card small,
.profile-asset-practice-card small {
  display: block;
  margin-top: 10px;
  padding: 7px 9px;
  color: #58756d;
  background: #ffffff;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.35;
}

.dialogue-card strong,
.review-task-card strong,
.review-coach-card strong,
.review-card strong,
.loop-card strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.dialogue-card span {
  display: block;
  margin-top: 9px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.recording-prep-card {
  background: #0c503d;
  border-color: rgba(12, 80, 61, 0.12);
}

.recording-prep-card p {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
  color: #e3f3ed;
  font-size: 12px;
  font-weight: 860;
}

.recording-prep-card p span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 720;
  line-height: 1.4;
}

.recording-prep-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 10px;
}

.recording-prep-card strong {
  padding: 6px 8px;
  color: var(--green-dark);
  background: #e3f3ed;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.2;
}

.recording-prep-card em {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-style: normal;
  font-weight: 720;
  line-height: 1.45;
}

.review-speak-tomorrow-plan-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f7fcfa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.22);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.review-speak-tomorrow-plan-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.review-speak-tomorrow-plan-card p span {
  flex: 0 0 auto;
  padding: 4px 9px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-speak-tomorrow-plan-card strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.32;
}

.review-speak-tomorrow-plan-card div {
  display: grid;
  gap: 7px;
}

.review-speak-tomorrow-plan-card div span {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
  padding: 8px 10px;
  color: #58756d;
  background: var(--white);
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}

.review-speak-tomorrow-plan-card div b {
  color: var(--green-dark);
  font-weight: 900;
}

.review-speak-tomorrow-plan-card em {
  display: block;
  padding: 8px 10px;
  color: #1d5346;
  background: #edf8f4;
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.45;
}

.speaking-reply-frame-card {
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border-color: rgba(12, 80, 61, 0.14);
}

.speaking-reply-frame-card p {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 880;
}

.speaking-reply-frame-card p span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.speaking-reply-frame-card div {
  display: grid;
  gap: 8px;
}

.speaking-reply-frame-card div span {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  color: var(--muted);
  background: #ffffff;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.speaking-reply-frame-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.speaking-reply-frame-card em {
  display: block;
  margin-top: 10px;
  color: var(--green-dark);
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.45;
}

.speaking-scaffold-card {
  background: linear-gradient(135deg, #ffffff, #fffaf3);
  border-color: rgba(216, 151, 37, 0.2);
}

.speaking-scaffold-card p {
  margin-bottom: 8px;
  color: #a76516;
  font-size: 12px;
  font-weight: 860;
}

.speaking-scaffold-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.4;
}

.speaking-scaffold-card ol {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: speaking-step;
}

.speaking-scaffold-card li {
  position: relative;
  min-height: 28px;
  padding: 7px 8px 7px 36px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
  counter-increment: speaking-step;
}

.speaking-scaffold-card li::before {
  position: absolute;
  top: 7px;
  left: 8px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: var(--white);
  content: counter(speaking-step);
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 860;
}

.speaking-pass-card {
  background: linear-gradient(135deg, #f7fbf9, #eef7f3);
  border-color: rgba(12, 80, 61, 0.14);
}

.speaking-pass-card p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.speaking-pass-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.speaking-pass-card ul {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.speaking-pass-card li {
  position: relative;
  padding-left: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.speaking-pass-card li::before {
  position: absolute;
  top: 3px;
  left: 0;
  color: var(--green);
  content: "✓";
  font-size: 12px;
  font-weight: 900;
}

.review-task-card {
  background: #f7fbf9;
}

.review-variant-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #fff8ed);
  border: 1px solid rgba(216, 151, 37, 0.2);
  border-radius: 8px;
}

.review-customer-variant-card {
  padding: 15px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, #0c503d, #1c6fb8);
  border-radius: 8px;
}

.review-customer-variant-card p {
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 860;
}

.review-customer-variant-card strong {
  display: block;
  margin-bottom: 9px;
  color: var(--white);
  font-size: 16px;
  line-height: 1.35;
}

.review-customer-variant-card span,
.review-customer-variant-card em,
.review-customer-variant-card b {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-style: normal;
  font-weight: 720;
  line-height: 1.45;
}

.review-customer-variant-card em {
  margin: 10px 0 8px;
  padding: 8px 10px;
  color: var(--green-dark);
  background: #e3f3ed;
  border-radius: 8px;
  font-weight: 860;
}

.review-customer-variant-card b {
  color: #ffffff;
  font-weight: 820;
}

.review-variant-card p {
  margin-bottom: 8px;
  color: #a76516;
  font-size: 12px;
  font-weight: 860;
  line-height: 1.35;
}

.review-variant-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
}

.review-variant-card span,
.review-variant-card b,
.review-variant-card em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

.review-variant-card em {
  margin: 10px 0 8px;
  padding: 9px 10px;
  color: var(--green-dark);
  background: #eef7f3;
  border-radius: 8px;
  font-weight: 820;
}

.review-variant-card b {
  color: #7a4a0e;
}

.review-coach-card {
  background: linear-gradient(135deg, #fffaf3, #f7fbf9);
  border-color: rgba(234, 100, 67, 0.22);
}

.review-coach-card span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.review-stability-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #fff6e5);
  border: 1px solid rgba(216, 151, 37, 0.2);
  border-radius: 8px;
}

.review-stability-card p {
  margin-bottom: 8px;
  color: #a76516;
  font-size: 12px;
  font-weight: 860;
}

.review-stability-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.review-stability-card em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 680;
  line-height: 1.45;
}

.review-recall-compare-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.16);
  border-radius: 8px;
}

.review-recall-compare-card p {
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.review-recall-compare-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
}

.review-recall-compare-card div {
  display: grid;
  gap: 8px;
}

.review-recall-compare-card span {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  color: var(--muted);
  background: #ffffff;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.review-recall-compare-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-focus-result-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f0f8f5);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.review-focus-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.review-focus-result-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.review-focus-result-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
}

.review-focus-result-card div {
  display: grid;
  gap: 8px;
}

.review-focus-result-card div span {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  color: var(--muted);
  background: #ffffff;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.review-focus-result-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-focus-result-card em,
.review-focus-result-card small {
  display: block;
  margin-top: 10px;
  font-style: normal;
  line-height: 1.4;
}

.review-focus-result-card em {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 820;
}

.review-focus-result-card small {
  padding: 7px 9px;
  color: #58756d;
  background: #ffffff;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 760;
}

.review-chunk-speak-result-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f4fbf8, #ffffff);
  border: 1px solid rgba(12, 80, 61, 0.2);
  border-left: 4px solid var(--green-dark);
  border-radius: 8px;
}

.review-chunk-speak-result-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.review-chunk-speak-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-chunk-speak-result-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.review-chunk-speak-result-card div {
  display: grid;
  gap: 8px;
}

.review-chunk-speak-result-card div span {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  color: var(--muted);
  background: var(--white);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.review-chunk-speak-result-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-chunk-speak-result-card em {
  display: block;
  margin-top: 10px;
  color: #58756d;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.4;
}

.review-interval-plan-card {
  padding: 15px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, #0c503d, #1d76a9);
  border-radius: 8px;
}

.review-interval-plan-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 900;
}

.review-interval-plan-card p span {
  flex: 0 0 auto;
  padding: 4px 9px;
  color: var(--green-dark);
  background: #dff4ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-interval-plan-card strong {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.35;
}

.review-interval-plan-card em {
  display: block;
  padding: 9px 10px;
  margin-bottom: 10px;
  color: #0b382d;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 8px;
  font-size: 13px;
  font-style: normal;
  font-weight: 860;
  line-height: 1.4;
}

.review-interval-plan-card div {
  display: grid;
  gap: 7px;
}

.review-interval-plan-card div span {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 8px;
  align-items: start;
  padding: 8px 9px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 740;
  line-height: 1.42;
}

.review-interval-plan-card b {
  color: #dff4ec;
  font-size: 10px;
  font-weight: 900;
}

.review-interval-plan-card small,
.review-interval-plan-card i,
.review-interval-plan-card u {
  display: block;
  font-size: 11px;
  font-style: normal;
  line-height: 1.42;
  text-decoration: none;
}

.review-interval-plan-card small {
  margin-top: 9px;
  color: #ffffff;
  font-weight: 860;
}

.review-interval-plan-card i {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.82);
  font-weight: 730;
}

.review-interval-plan-card u {
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.62);
  font-weight: 680;
}

.review-tomorrow-plan-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f7fcfa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.review-tomorrow-plan-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.review-tomorrow-plan-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-tomorrow-plan-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.review-tomorrow-plan-card div {
  display: grid;
  gap: 7px;
}

.review-tomorrow-plan-card div span {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
  padding: 8px 10px;
  color: #58756d;
  background: var(--white);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}

.review-tomorrow-plan-card div span b {
  color: var(--green-dark);
  font-weight: 900;
}

.review-tomorrow-plan-card em {
  display: block;
  padding: 8px 10px;
  margin-top: 9px;
  color: #1d5346;
  background: #edf8f4;
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.45;
}

.review-tomorrow-plan-card button {
  width: 100%;
  min-height: 40px;
  margin-top: 10px;
  color: var(--white);
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.review-tomorrow-result-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f3fbf8);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid var(--green-dark);
  border-radius: 8px;
}

.review-tomorrow-result-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.review-tomorrow-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-tomorrow-result-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.review-tomorrow-result-card div {
  display: grid;
  gap: 7px;
}

.review-tomorrow-result-card div span {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
  padding: 8px 10px;
  color: #58756d;
  background: #ffffff;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}

.review-tomorrow-result-card div b {
  color: var(--green-dark);
  font-weight: 900;
}

.review-tomorrow-result-card em,
.review-tomorrow-result-card small,
.review-tomorrow-result-card i {
  display: block;
  font-size: 11px;
  font-style: normal;
  line-height: 1.45;
}

.review-tomorrow-result-card em {
  padding: 8px 10px;
  margin-top: 9px;
  color: #1d5346;
  background: #edf8f4;
  border-radius: 8px;
  font-weight: 800;
}

.review-tomorrow-result-card small {
  margin-top: 8px;
  color: var(--green-dark);
  font-weight: 860;
}

.review-tomorrow-result-card i {
  margin-top: 5px;
  color: #6b7d78;
  font-weight: 680;
}

.review-drill-result-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f3fbf8);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-left: 4px solid var(--green-dark);
  border-radius: 8px;
}

.review-drill-result-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.review-drill-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-drill-result-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
}

.review-drill-result-card div {
  display: grid;
  gap: 8px;
}

.review-drill-result-card div span {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  color: var(--muted);
  background: var(--white);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.review-drill-result-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-drill-result-card em {
  display: block;
  margin-top: 10px;
  color: #58756d;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.4;
}

.review-asset-upgrade-card {
  display: grid;
  gap: 8px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #fff7e8);
  border: 1px solid rgba(216, 151, 37, 0.24);
  border-left: 4px solid #d89725;
  border-radius: 8px;
}

.review-asset-upgrade-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #9d641b;
  font-size: 12px;
  font-weight: 900;
}

.review-asset-upgrade-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #7f4d10;
  background: #ffecc8;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-asset-upgrade-card strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.28;
}

.review-asset-upgrade-card em,
.review-asset-upgrade-card small {
  display: block;
  font-style: normal;
  line-height: 1.45;
}

.review-asset-upgrade-card em {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 840;
}

.review-asset-upgrade-card small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.review-asset-upgrade-card button {
  width: 100%;
  min-height: 40px;
  margin-top: 3px;
  color: #7f4d10;
  background: #ffecc8;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.review-weakness-asset-upgrade-card {
  background: linear-gradient(135deg, #ffffff, #eefaf6);
  border-color: rgba(42, 191, 140, 0.26);
  border-left-color: #38c9a3;
}

.review-weakness-asset-upgrade-card p,
.review-weakness-asset-upgrade-card em {
  color: var(--green-dark);
}

.review-weakness-asset-upgrade-card p span,
.review-weakness-asset-upgrade-card button {
  color: var(--green-dark);
  background: #dff3ec;
}

.review-callable-unlock-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #0c503d, #1d76a9);
  border: 1px solid rgba(12, 80, 61, 0.24);
  border-radius: 8px;
  box-shadow: 0 10px 22px rgba(13, 74, 57, 0.12);
}

.review-callable-unlock-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  font-weight: 900;
}

.review-callable-unlock-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #dff4ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-callable-unlock-card strong {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.25;
}

.review-callable-unlock-card div {
  display: grid;
  gap: 6px;
}

.review-callable-unlock-card div span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
}

.review-callable-unlock-card div b {
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
}

.review-callable-unlock-card .callable-next-use-route {
  padding: 10px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.review-callable-unlock-card .callable-next-use-route strong {
  margin-bottom: 2px;
  color: #ffffff;
  font-size: 14px;
}

.review-callable-unlock-card .callable-next-use-route span {
  background: rgba(255, 255, 255, 0.08);
}

.review-callable-unlock-card .callable-next-use-route em {
  padding: 8px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  font-size: 11px;
}

.review-callable-unlock-card em,
.review-callable-unlock-card small {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.review-callable-unlock-card em {
  color: #ffffff;
  font-size: 12px;
}

.review-callable-unlock-card button {
  width: 100%;
  min-height: 40px;
  color: var(--green-dark);
  background: #ffffff;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.callable-asset-receipt-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, #0c503d, #1f7f73);
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(12, 80, 61, 0.14);
}

.callable-asset-receipt-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 900;
}

.callable-asset-receipt-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: #0c503d;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.callable-asset-receipt-card strong,
.callable-asset-receipt-card em,
.callable-asset-receipt-card small {
  font-style: normal;
}

.callable-asset-receipt-card strong {
  color: var(--white);
  font-size: 16px;
  line-height: 1.3;
}

.callable-asset-receipt-card div {
  display: grid;
  gap: 7px;
}

.callable-asset-receipt-card div span {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
  padding: 9px 10px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 740;
  line-height: 1.4;
}

.callable-asset-receipt-card div b {
  color: var(--white);
  font-size: 11px;
  font-weight: 900;
}

.callable-asset-receipt-card em,
.callable-asset-receipt-card small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  font-weight: 740;
  line-height: 1.45;
}

.callable-asset-receipt-card button {
  min-height: 40px;
  color: #0c503d;
  background: var(--white);
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.review-variation-result-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.review-variation-result-card p {
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.review-variation-result-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
}

.review-variation-result-card span {
  display: block;
  margin-bottom: 8px;
  padding: 9px 10px;
  color: var(--green-dark);
  background: #ffffff;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 820;
  line-height: 1.45;
}

.review-variation-result-card em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

.review-next-variant-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f7fbf9, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-radius: 8px;
}

.review-next-variant-card p {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.review-next-variant-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
}

.review-next-variant-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.review-next-variant-card em,
.review-next-variant-card b,
.review-next-variant-card small {
  display: block;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.review-next-variant-card em {
  color: var(--muted);
  font-weight: 720;
}

.review-next-variant-card b {
  margin: 9px 0 8px;
  padding: 8px 10px;
  color: var(--green-dark);
  background: #ffffff;
  border-radius: 8px;
  font-weight: 850;
}

.review-next-variant-card small {
  color: var(--green-dark);
  font-weight: 820;
}

.review-agent-handoff-card {
  padding: 15px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, #0c503d, #2580a9);
  border-radius: 8px;
}

.review-agent-handoff-card p {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  font-weight: 860;
}

.review-agent-handoff-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #0c503d;
  background: rgba(255, 255, 255, 0.88);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
}

.review-agent-handoff-card strong {
  display: block;
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.32;
}

.review-agent-handoff-card ol {
  display: grid;
  gap: 7px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

.review-agent-handoff-card li {
  padding: 8px 10px;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.45;
}

.review-agent-handoff-card em {
  display: block;
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-style: normal;
  font-weight: 720;
  line-height: 1.4;
}

.review-callable-asset-card {
  padding: 15px;
  margin-bottom: 12px;
  background: #ffffff;
  border: 1px solid rgba(216, 151, 37, 0.28);
  border-left: 4px solid #d89725;
  border-radius: 8px;
}

.review-callable-asset-card p {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  color: #a76516;
  font-size: 12px;
  font-weight: 880;
}

.review-callable-asset-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: #8b5515;
  background: #fff1d5;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-callable-asset-card strong {
  display: block;
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.review-callable-asset-card em {
  display: block;
  margin-bottom: 9px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 740;
}

.review-callable-asset-card b {
  display: block;
  margin-bottom: 9px;
  padding: 8px 10px;
  color: var(--green-dark);
  background: #f4faf7;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.4;
}

.review-callable-asset-card ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

.review-callable-asset-card li {
  padding: 5px 8px;
  color: var(--green-dark);
  background: #e8f5ef;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 780;
}

.review-callable-asset-card small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
}

.profile-asset-result-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f7fcfa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.profile-asset-result-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.profile-asset-result-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.profile-asset-result-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.profile-asset-result-card div {
  display: grid;
  gap: 8px;
}

.profile-asset-result-card div span {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  padding: 8px 10px;
  color: var(--muted);
  background: #ffffff;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
}

.profile-asset-result-card .asset-result-scenario {
  padding: 10px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, rgba(17, 95, 74, 0.08), rgba(42, 191, 140, 0.08));
  border: 1px solid rgba(17, 95, 74, 0.12);
  border-radius: 8px;
}

.profile-asset-result-card .asset-result-scenario b {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.profile-asset-result-card .asset-result-scenario b small {
  margin: 0;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 9px;
  white-space: nowrap;
}

.profile-asset-result-card .asset-result-scenario strong {
  margin: 6px 0 4px;
  font-size: 18px;
}

.profile-asset-result-card .asset-result-scenario em {
  margin: 0;
  padding: 0;
  color: var(--muted);
  background: transparent;
  font-size: 11px;
}

.profile-asset-result-card .asset-result-scenario span {
  display: flex;
  grid-template-columns: none;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0;
  margin-top: 8px;
  background: transparent;
}

.profile-asset-result-card .asset-result-scenario span small {
  margin: 0;
  padding: 4px 6px;
  color: #58756d;
  background: #ffffff;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 850;
}

.profile-asset-result-card .asset-transfer-score {
  padding: 10px;
  margin-bottom: 10px;
  background: #ffffff;
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(17, 95, 74, 0.06);
}

.profile-asset-result-card .asset-transfer-score p {
  margin: 0 0 7px;
  color: var(--green-dark);
  font-size: 11px;
}

.profile-asset-result-card .asset-transfer-score p span {
  color: #ffffff;
  background: var(--green-dark);
}

.profile-asset-result-card .asset-transfer-score strong {
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 14px;
}

.profile-asset-result-card .asset-transfer-score div {
  gap: 6px;
}

.profile-asset-result-card .asset-transfer-score div span {
  grid-template-columns: 64px 1fr;
  padding: 7px 8px;
  background: #f4faf7;
  font-size: 11px;
}

.profile-asset-result-card .asset-transfer-score em {
  margin-top: 8px;
  color: #1d5346;
  background: #edf8f4;
}

.profile-asset-result-card .asset-transfer-check-result {
  padding: 10px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #ffffff, #fff8e8);
  border: 1px solid rgba(217, 147, 32, 0.18);
  border-radius: 8px;
}

.profile-asset-result-card .asset-transfer-check-result p {
  margin: 0 0 7px;
  color: #8a5b0f;
  font-size: 11px;
}

.profile-asset-result-card .asset-transfer-check-result p span {
  color: #ffffff;
  background: #c88919;
}

.profile-asset-result-card .asset-transfer-check-result strong {
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 14px;
}

.profile-asset-result-card .asset-transfer-check-result div {
  gap: 6px;
}

.profile-asset-result-card .asset-transfer-check-result div span {
  grid-template-columns: 64px 1fr;
  padding: 7px 8px;
  background: rgba(255, 255, 255, 0.76);
  font-size: 11px;
}

.profile-asset-result-card .asset-transfer-check-result em,
.profile-asset-result-card .asset-transfer-check-result small,
.profile-asset-result-card .asset-transfer-check-result i {
  display: block;
  margin-top: 8px;
  color: #644917;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-result-card .asset-transfer-check-result em {
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
}

.profile-asset-result-card .asset-transfer-check-result small {
  color: var(--green-dark);
  font-weight: 860;
}

.profile-asset-result-card .asset-transfer-check-result i {
  color: #6b7d78;
  font-weight: 680;
}

.profile-asset-result-card .asset-transfer-milestone {
  padding: 10px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #f5fbff, #ffffff);
  border: 1px solid rgba(47, 127, 189, 0.18);
  border-radius: 8px;
}

.profile-asset-result-card .asset-transfer-milestone p {
  margin: 0 0 7px;
  color: #174a70;
  font-size: 11px;
}

.profile-asset-result-card .asset-transfer-milestone p span {
  color: #ffffff;
  background: #2f7fbd;
}

.profile-asset-result-card .asset-transfer-milestone strong {
  margin-bottom: 8px;
  color: #174a70;
  font-size: 14px;
}

.profile-asset-result-card .asset-transfer-milestone .asset-transfer-milestone-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 8px;
}

.profile-asset-result-card .asset-transfer-milestone .asset-transfer-milestone-steps span {
  display: grid;
  grid-template-columns: none;
  gap: 3px;
  padding: 8px 7px;
  min-width: 0;
  color: #5f6f6a;
  background: #ffffff;
  border: 1px solid rgba(47, 127, 189, 0.12);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.3;
}

.profile-asset-result-card .asset-transfer-milestone .asset-transfer-milestone-steps span.is-done {
  color: #174a70;
  background: #e4f2fb;
}

.profile-asset-result-card .asset-transfer-milestone .asset-transfer-milestone-steps b {
  color: inherit;
  font-size: 10px;
  font-weight: 900;
}

.profile-asset-result-card .asset-transfer-milestone em,
.profile-asset-result-card .asset-transfer-milestone small {
  display: block;
  margin: 0;
  padding: 7px 9px;
  color: #174a70;
  background: rgba(228, 242, 251, 0.72);
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.4;
}

.profile-asset-result-card .asset-transfer-milestone small {
  margin-top: 6px;
  color: #5f6f6a;
  background: transparent;
  padding: 0;
}

.profile-asset-result-card .asset-business-proof {
  padding: 11px;
  margin-bottom: 10px;
  color: #ffffff;
  background: linear-gradient(135deg, #0b5a45, #1c6f59);
  border: 1px solid rgba(11, 90, 69, 0.22);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(11, 90, 69, 0.14);
}

.profile-asset-result-card .asset-business-proof p {
  margin: 0 0 7px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
}

.profile-asset-result-card .asset-business-proof p span {
  color: #0b5a45;
  background: rgba(255, 255, 255, 0.86);
}

.profile-asset-result-card .asset-business-proof strong {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 15px;
}

.profile-asset-result-card .asset-business-proof div {
  gap: 6px;
  margin-bottom: 8px;
}

.profile-asset-result-card .asset-business-proof div span {
  grid-template-columns: 72px 1fr;
  padding: 7px 8px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 11px;
}

.profile-asset-result-card .asset-business-proof div b {
  color: #ffffff;
}

.profile-asset-result-card .asset-business-proof em,
.profile-asset-result-card .asset-business-proof small {
  display: block;
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.45;
}

.profile-asset-result-card .asset-business-proof em {
  padding: 8px 10px;
  margin-bottom: 7px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.profile-asset-result-card .asset-business-proof small {
  color: rgba(255, 255, 255, 0.68);
  font-weight: 680;
}

.profile-asset-result-card .asset-next-transfer-plan {
  padding: 10px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #fff8ef, #ffffff);
  border: 1px solid rgba(235, 117, 71, 0.22);
  border-radius: 8px;
}

.profile-asset-result-card .asset-next-transfer-plan p {
  margin: 0 0 7px;
  color: #a94322;
  font-size: 11px;
}

.profile-asset-result-card .asset-next-transfer-plan p span {
  color: #ffffff;
  background: #e9663d;
}

.profile-asset-result-card .asset-next-transfer-plan strong {
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 15px;
}

.profile-asset-result-card .asset-next-transfer-plan em {
  margin: 0 0 10px;
  color: #6d554d;
  background: transparent;
}

.profile-asset-result-card .asset-next-transfer-plan button {
  width: 100%;
  min-height: 40px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.profile-asset-result-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.profile-asset-result-card em,
.profile-asset-result-card small {
  display: block;
  margin-top: 9px;
  color: #58756d;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.profile-asset-result-card em {
  padding: 8px 10px;
  background: #edf8f4;
  border-radius: 8px;
}

.review-next-speak-template-card {
  padding: 15px;
  margin-bottom: 12px;
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.16);
  border-radius: 8px;
}

.review-next-speak-template-card p {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.review-next-speak-template-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #e2f2eb;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-next-speak-template-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.review-next-speak-template-card div {
  display: grid;
  gap: 7px;
  margin-bottom: 10px;
}

.review-next-speak-template-card div span {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  color: var(--ink);
  background: #f4faf7;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}

.review-next-speak-template-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-next-speak-template-card em,
.review-next-speak-template-card small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 740;
  line-height: 1.45;
}

.review-next-speak-template-card em {
  margin-bottom: 7px;
}

.review-next-card {
  padding: 15px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, var(--green-dark), #1c6fb8);
  border-radius: 8px;
}

.review-next-card p {
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 860;
}

.review-next-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--white);
  font-size: 18px;
  line-height: 1.25;
}

.review-next-card span,
.review-next-card em {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

.review-next-card em {
  margin: 10px 0 12px;
  padding: 9px 10px;
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.92);
  border-radius: 8px;
  font-weight: 820;
}

.review-next-card button {
  width: 100%;
  min-height: 42px;
  color: var(--green-dark);
  background: var(--white);
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 880;
}

.stability-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 10px;
}

.stability-steps span {
  min-width: 0;
  padding: 7px 4px;
  color: var(--muted);
  background: #f3f7f5;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 840;
  text-align: center;
}

.stability-steps span.is-done {
  color: #0c503d;
  background: #ddf1ea;
}

.review-row-stability-title {
  display: block;
  margin: 7px 0 6px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 860;
  line-height: 1.2;
}

.review-row-stability {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin-bottom: 8px;
}

.review-row-stability span {
  min-width: 0;
  padding: 5px 3px;
  color: var(--muted);
  background: #f3f7f5;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 820;
  line-height: 1;
  text-align: center;
}

.review-row-stability span.is-done {
  color: var(--green-dark);
  background: #ddf1ea;
}

.review-task-card span,
.review-row-main b {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
  line-height: 1.45;
}

.review-card {
  color: var(--white);
  background: linear-gradient(135deg, var(--green-dark), #1c6fb8);
  border-color: rgba(12, 80, 61, 0.18);
}

.review-card p,
.review-card strong {
  color: rgba(255, 255, 255, 0.9);
}

.review-card h2 {
  color: var(--white);
}

.review-card .target-chunks span {
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.92);
}

.review-source-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f8fcfa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-left: 4px solid #2fb497;
  border-radius: 8px;
}

.review-source-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.review-source-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.review-source-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.42;
}

.review-source-card div {
  display: grid;
  gap: 7px;
}

.review-source-card div span {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.review-source-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.queued-source-condition-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f4faf8);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(12, 80, 61, 0.06);
}

.queued-source-condition-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 880;
}

.queued-source-condition-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.queued-source-condition-card strong {
  display: block;
  margin-bottom: 11px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 880;
  line-height: 1.42;
}

.queued-source-condition-card div {
  display: grid;
  gap: 7px;
  padding: 10px;
  margin-bottom: 10px;
  background: #f8fcfa;
  border: 1px solid rgba(31, 143, 115, 0.12);
  border-radius: 8px;
}

.queued-source-condition-card div span {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.queued-source-condition-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.queued-source-condition-card em {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.queued-source-condition-repair-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #fff9ee);
  border: 1px solid rgba(216, 151, 37, 0.26);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(123, 84, 18, 0.07);
}

.queued-source-condition-repair-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
  color: #8a5b11;
  font-size: 12px;
  font-weight: 880;
}

.queued-source-condition-repair-card p span {
  padding: 4px 8px;
  color: #7a4f0e;
  background: #fff0c9;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.queued-source-condition-repair-card strong {
  display: block;
  margin-bottom: 11px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 880;
  line-height: 1.42;
}

.queued-source-condition-repair-card div {
  display: grid;
  gap: 7px;
  padding: 10px;
  margin-bottom: 10px;
  background: #fffdf7;
  border: 1px solid rgba(216, 151, 37, 0.16);
  border-radius: 8px;
}

.queued-source-condition-repair-card div span {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.queued-source-condition-repair-card b {
  color: #8a5b11;
  font-size: 11px;
  font-weight: 900;
}

.queued-source-condition-repair-card em {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.queued-recall-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #fffaf2);
  border: 1px solid rgba(216, 151, 37, 0.22);
  border-radius: 8px;
}

.queued-recall-card p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: #a76516;
  font-size: 12px;
  font-weight: 860;
}

.queued-recall-card p span {
  padding: 4px 8px;
  color: #7a4a0e;
  background: #fff0d4;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.queued-recall-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.queued-recall-mission-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 10px;
}

.queued-recall-mission-strip span {
  display: flex;
  min-width: 0;
  min-height: 46px;
  padding: 7px 6px;
  flex-direction: column;
  justify-content: center;
  color: #7a4a0e;
  background: #ffffff;
  border: 1px solid rgba(216, 151, 37, 0.16);
  border-radius: 8px;
  text-align: center;
}

.queued-recall-mission-strip small,
.queued-recall-mission-strip strong {
  display: block;
  min-width: 0;
  line-height: 1.18;
}

.queued-recall-mission-strip small {
  color: rgba(122, 74, 14, 0.68);
  font-size: 9px;
  font-weight: 900;
}

.queued-recall-mission-strip strong {
  display: -webkit-box;
  min-height: 22px;
  margin: 0;
  overflow: hidden;
  color: #7a4a0e;
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.queued-recall-card ol {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0 0 10px;
  list-style: none;
  counter-reset: recall-step;
}

.queued-recall-card li {
  position: relative;
  min-height: 26px;
  padding: 7px 8px 7px 34px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
  counter-increment: recall-step;
}

.queued-recall-card li::before {
  position: absolute;
  top: 7px;
  left: 8px;
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  color: #fff;
  content: counter(recall-step);
  background: #d89725;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 860;
}

.queued-recall-card em {
  display: block;
  color: #7a4a0e;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.queued-daily-micro-drill-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #0c503d, #1c6fb8);
  border: 1px solid rgba(12, 80, 61, 0.24);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(12, 80, 61, 0.12);
}

.queued-daily-micro-drill-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
  font-weight: 900;
}

.queued-daily-micro-drill-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 930;
}

.queued-daily-micro-drill-card strong {
  display: block;
  color: #ffffff;
  font-size: 14px;
  font-weight: 880;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.queued-daily-micro-drill-card div {
  display: grid;
  gap: 7px;
  padding: 9px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.queued-daily-micro-drill-card div span {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 8px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 11px;
  font-weight: 720;
  line-height: 1.42;
}

.queued-daily-micro-drill-card b {
  color: rgba(255, 255, 255, 0.68);
  font-size: 10px;
  font-weight: 900;
}

.queued-daily-micro-drill-card em {
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.queued-chunk-check-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f7fffb, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid var(--green-dark);
  border-radius: 8px;
}

.queued-chunk-check-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.queued-chunk-check-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.queued-chunk-check-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.38;
}

.queued-chunk-check-card div {
  display: grid;
  gap: 8px;
}

.queued-chunk-check-card div span {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.42;
}

.queued-chunk-check-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.queued-chunk-check-card em {
  padding: 8px 10px;
  color: #30594d;
  background: #eff8f4;
  border-radius: 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.queued-next-focus-card {
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f0f8f5);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-radius: 8px;
}

.queued-next-focus-card p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.queued-next-focus-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.queued-next-focus-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.queued-next-focus-card div {
  display: grid;
  gap: 8px;
}

.queued-next-focus-card div span {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.queued-next-focus-card b {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.queued-next-focus-card small {
  display: block;
  margin-top: 10px;
  padding: 7px 9px;
  color: #58756d;
  background: #ffffff;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.35;
}

.loop-card p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.sentence-completion-card {
  padding: 16px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.sentence-completion-card p {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.sentence-completion-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.sentence-completion-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.35;
}

.sentence-completion-card em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

.sentence-completion-card .app-primary-action {
  width: 100%;
  min-height: 44px;
  margin-top: 2px;
}

.review-deck-hero {
  padding: 16px;
  margin-bottom: 12px;
  color: var(--white);
  background: linear-gradient(135deg, #17352b, #168264);
  border-radius: 8px;
}

.review-deck-hero p {
  margin-bottom: 9px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 820;
}

.review-deck-hero h2 {
  margin-bottom: 10px;
  font-size: 22px;
  line-height: 1.2;
}

.review-deck-hero span {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  line-height: 1.5;
}

.review-summary-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.review-summary-card div {
  padding: 11px 8px;
  background: var(--white);
  border: 1px solid rgba(12, 80, 61, 0.1);
  border-radius: 8px;
  text-align: center;
}

.review-summary-card strong {
  display: block;
  margin-bottom: 3px;
  color: var(--green-dark);
  font-size: 19px;
  line-height: 1;
}

.review-summary-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.review-asset-plan-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  color: var(--white);
  background:
    linear-gradient(135deg, rgba(12, 80, 61, 0.94), rgba(20, 105, 143, 0.9)),
    url("https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=900&q=75") center/cover;
  background-blend-mode: multiply;
  border-radius: 8px;
  box-shadow: 0 14px 28px rgba(12, 80, 61, 0.16);
}

.review-asset-plan-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 880;
  line-height: 1.2;
}

.review-asset-plan-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: #0c503d;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.review-asset-plan-card strong,
.review-asset-plan-card em,
.review-asset-plan-card b,
.review-asset-plan-card span {
  font-style: normal;
}

.review-asset-plan-card strong {
  display: block;
  font-size: 20px;
  line-height: 1.2;
}

.review-asset-plan-card em {
  display: block;
  color: rgba(255, 255, 255, 0.84);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.45;
}

.review-asset-plan-card div {
  display: grid;
  gap: 8px;
}

.review-asset-plan-card div span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 740;
  line-height: 1.4;
}

.review-asset-plan-card div b {
  color: var(--white);
  font-size: 11px;
  font-weight: 900;
}

.review-asset-plan-card .app-primary-action {
  width: 100%;
  min-height: 44px;
  color: var(--green-dark);
  background: var(--white);
}

.review-first-asset-card {
  display: grid;
  gap: 11px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #ffffff, #f2faf6);
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(12, 80, 61, 0.08);
}

.review-first-asset-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.review-first-asset-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-first-asset-card strong,
.review-first-asset-card em,
.review-first-asset-card b,
.review-first-asset-card small {
  font-style: normal;
}

.review-first-asset-card > strong {
  color: var(--ink);
  font-size: 19px;
  line-height: 1.18;
}

.review-first-asset-card > em {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.45;
}

.review-first-asset-card div {
  display: grid;
  gap: 8px;
}

.review-first-asset-card div span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 7px 9px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  background: var(--white);
  border: 1px solid rgba(12, 80, 61, 0.1);
  border-radius: 8px;
}

.review-first-asset-card div b {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: var(--white);
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.review-first-asset-card div strong {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.2;
}

.review-first-asset-card div small {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.review-advice-card {
  position: relative;
  padding: 13px 84px 13px 13px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #eef7f3);
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
}

.review-advice-card p {
  margin-bottom: 7px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 860;
}

.review-advice-card strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.4;
}

.review-advice-card span {
  position: absolute;
  top: 13px;
  right: 12px;
  max-width: 66px;
  padding: 6px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 860;
  line-height: 1.15;
  text-align: center;
}

.review-deck-completion-card {
  display: grid;
  gap: 9px;
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f2faf6);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(12, 80, 61, 0.07);
}

.review-deck-completion-card p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.review-deck-completion-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-deck-completion-card strong {
  display: block;
  min-width: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.review-deck-completion-card div {
  display: grid;
  gap: 7px;
}

.review-deck-completion-card div span {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 8px 10px;
  color: #4f6961;
  background: #f8fcfa;
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.review-deck-completion-card div b {
  min-width: 0;
  color: var(--green-dark);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.review-deck-completion-card .review-deck-completion-quick-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.review-deck-completion-card .review-deck-completion-quick-strip span {
  display: flex;
  min-width: 0;
  min-height: 48px;
  padding: 7px 6px;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: #ffffff;
  border: 1px solid rgba(185, 211, 199, 0.78);
  border-radius: 8px;
  text-align: center;
  overflow-wrap: anywhere;
}

.review-deck-completion-card .review-deck-completion-quick-strip small,
.review-deck-completion-card .review-deck-completion-quick-strip strong {
  display: block;
  min-width: 0;
  line-height: 1.18;
}

.review-deck-completion-card .review-deck-completion-quick-strip small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
}

.review-deck-completion-card .review-deck-completion-quick-strip strong {
  display: -webkit-box;
  min-height: 23px;
  overflow: hidden;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.review-deck-completion-card em {
  display: block;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.review-deck-completion-card button {
  justify-self: stretch;
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  color: #ffffff;
  background: var(--green-dark);
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 920;
  line-height: 1.25;
  white-space: normal;
}

.review-deck-tomorrow-plan-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f7fcfa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.22);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(12, 80, 61, 0.08);
}

.review-deck-tomorrow-plan-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.review-deck-tomorrow-plan-card p span {
  flex: 0 0 auto;
  padding: 4px 9px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-deck-tomorrow-plan-card strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.22;
}

.review-deck-tomorrow-plan-card em,
.review-deck-tomorrow-plan-card small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.review-deck-tomorrow-plan-card div {
  display: grid;
  gap: 7px;
}

.review-deck-tomorrow-plan-card div span {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
  padding: 8px 10px;
  color: #58756d;
  background: var(--white);
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}

.review-deck-tomorrow-plan-card div b {
  color: var(--green-dark);
  font-weight: 900;
}

.review-deck-tomorrow-plan-card small {
  padding: 8px 10px;
  color: #1d5346;
  background: #edf8f4;
  border-radius: 8px;
  font-weight: 800;
}

.review-deck-tomorrow-plan-card .app-primary-action {
  width: 100%;
  min-height: 42px;
}

.review-priority-start-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  margin-bottom: 12px;
  background: var(--white);
  border: 2px solid rgba(31, 143, 115, 0.24);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(12, 80, 61, 0.08);
}

.review-priority-start-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
  line-height: 1.2;
}

.review-priority-start-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-priority-start-card strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}

.review-priority-start-card em,
.review-priority-start-card small,
.review-priority-start-card b {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.review-priority-start-card em {
  color: var(--green-dark);
}

.review-priority-start-card b {
  padding: 8px 10px;
  color: #30594d;
  background: #f0f8f5;
  border-radius: 8px;
}

.review-priority-mission-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.review-priority-mission-strip span {
  display: flex;
  min-width: 0;
  min-height: 46px;
  padding: 7px 6px;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: #f4faf7;
  border: 1px solid rgba(31, 143, 115, 0.14);
  border-radius: 8px;
  text-align: center;
}

.review-priority-mission-strip small,
.review-priority-mission-strip strong {
  display: block;
  min-width: 0;
  line-height: 1.18;
}

.review-priority-mission-strip small {
  color: rgba(12, 80, 61, 0.66);
  font-size: 9px;
  font-weight: 900;
}

.review-priority-mission-strip strong {
  display: -webkit-box;
  min-height: 22px;
  overflow: hidden;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.first-asset-review-deck-signal {
  display: grid;
  gap: 7px;
  padding: 9px;
  background: #f4faf7;
  border: 1px solid rgba(31, 143, 115, 0.16);
  border-radius: 8px;
}

.first-asset-review-deck-signal p,
.review-row-first-asset i {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-style: normal;
  font-weight: 930;
  line-height: 1.2;
}

.first-asset-review-deck-signal p span,
.review-row-first-asset i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 930;
}

.first-asset-review-deck-signal div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.first-asset-review-deck-signal div span {
  display: flex;
  min-width: 0;
  min-height: 42px;
  padding: 6px;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: var(--white);
  border: 1px solid rgba(31, 143, 115, 0.1);
  border-radius: 8px;
  text-align: center;
}

.first-asset-review-deck-signal small,
.first-asset-review-deck-signal strong {
  display: block;
  min-width: 0;
  line-height: 1.18;
}

.first-asset-review-deck-signal div small {
  color: rgba(12, 80, 61, 0.66);
  font-size: 9px;
  font-weight: 900;
}

.first-asset-review-deck-signal strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.first-asset-review-deck-signal > small {
  color: #2f6658;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.review-row-first-asset {
  display: grid;
  gap: 5px;
  padding: 8px 9px;
  color: #2f6658;
  background: #f4faf7;
  border: 1px solid rgba(31, 143, 115, 0.14);
  border-radius: 8px;
}

.review-row-first-asset em,
.review-row-first-asset small {
  display: -webkit-box;
  overflow: hidden;
  color: #496d63;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.review-priority-start-card .app-primary-action {
  width: 100%;
  min-height: 44px;
  margin-top: 2px;
}

.review-empty-speaking-card {
  display: grid;
  gap: 9px;
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f2faf6);
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(12, 80, 61, 0.08);
}

.review-empty-speaking-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.review-empty-speaking-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 930;
}

.review-empty-speaking-card > strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.24;
}

.review-empty-speaking-card > small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.45;
}

.review-empty-mission-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.review-empty-mission-strip span {
  display: flex;
  min-width: 0;
  min-height: 46px;
  padding: 7px 6px;
  flex-direction: column;
  justify-content: center;
  color: var(--green-dark);
  background: #f4faf7;
  border: 1px solid rgba(31, 143, 115, 0.14);
  border-radius: 8px;
  text-align: center;
}

.review-empty-mission-strip small,
.review-empty-mission-strip strong {
  display: block;
  min-width: 0;
  line-height: 1.18;
}

.review-empty-mission-strip small {
  color: rgba(12, 80, 61, 0.66);
  font-size: 9px;
  font-weight: 900;
}

.review-empty-mission-strip strong {
  display: -webkit-box;
  min-height: 22px;
  overflow: hidden;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.review-empty-speaking-card .app-primary-action {
  width: 100%;
  min-height: 44px;
  margin-top: 2px;
}

.review-bottom-action-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  margin-top: 12px;
  background: linear-gradient(135deg, #ffffff, #eef8f4);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(12, 80, 61, 0.07);
}

.review-bottom-action-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.review-bottom-action-card p span {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-bottom-action-card strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.review-bottom-action-card em,
.review-bottom-action-card small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.review-bottom-action-card small {
  padding: 8px 10px;
  color: #30594d;
  background: #f2faf6;
  border-radius: 8px;
}

.review-bottom-action-card .app-primary-action {
  width: 100%;
  min-height: 44px;
  margin-top: 2px;
}

.review-drill-route-card {
  display: grid;
  gap: 10px;
  padding: 13px;
  margin-bottom: 12px;
  background: #f6fbf8;
  border: 1px solid rgba(12, 80, 61, 0.12);
  border-radius: 8px;
}

.review-drill-route-card p {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.review-drill-route-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-drill-route-card div {
  display: grid;
  gap: 8px;
}

.review-drill-route-card div span {
  display: grid;
  grid-template-columns: 26px minmax(0, 72px) 1fr;
  gap: 8px;
  align-items: start;
  padding: 9px;
  background: var(--white);
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
}

.review-drill-route-card b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: var(--white);
  background: var(--green-dark);
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
}

.review-drill-route-card strong,
.review-drill-route-card em,
.review-drill-route-card small {
  display: block;
  min-width: 0;
  font-style: normal;
  line-height: 1.35;
}

.review-drill-route-card strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 880;
}

.review-drill-route-card em {
  color: var(--muted);
  font-size: 11px;
  font-weight: 740;
}

.review-drill-route-card small {
  padding: 8px 10px;
  color: var(--green-dark);
  background: #e6f5ef;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 820;
}

.review-drill-route-card.is-speak {
  margin-top: -2px;
  background: var(--white);
  border-color: rgba(31, 143, 115, 0.18);
  box-shadow: 0 10px 24px rgba(12, 80, 61, 0.06);
}

.review-drill-route-card.is-speak p {
  color: var(--green-dark);
}

.review-queue-row .course-icon {
  background: #e1f0ea;
  color: var(--green-dark);
}

.review-stage {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 7px;
  padding: 7px 9px;
  background: #f3f7f5;
  border-radius: 999px;
}

.review-stage i,
.review-stage b {
  font-size: 11px;
  font-style: normal;
  font-weight: 860;
}

.review-stage i {
  color: var(--muted);
}

.review-stage b {
  color: var(--green-dark);
}

.review-stage.is-active {
  background: #e2f3ec;
}

.review-stage.is-strong {
  background: #fff1d5;
}

.review-stage.is-strong b {
  color: #a76516;
}

.review-row-main small {
  display: block;
  margin-top: 5px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
}

.review-row-plan {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #f4faf7;
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
}

.review-row-plan i {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}

.review-row-source {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #f8fcfa;
  border: 1px solid rgba(31, 143, 115, 0.14);
  border-radius: 8px;
}

.review-row-source i,
.review-row-source em,
.review-row-source small {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}

.review-row-source i {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-weight: 850;
}

.review-row-source i b {
  color: var(--green-dark);
  font-size: 10px;
}

.review-row-source em {
  color: var(--ink);
  font-weight: 760;
}

.review-row-speaking-target {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #eef8f3;
  border: 1px solid rgba(31, 143, 115, 0.18);
  border-left: 3px solid var(--green);
  border-radius: 8px;
}

.review-row-speaking-target i,
.review-row-speaking-target em,
.review-row-speaking-target small {
  display: block;
  min-width: 0;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
  overflow-wrap: anywhere;
}

.review-row-speaking-target i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-row-speaking-target i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-row-speaking-target em {
  color: var(--ink);
  font-size: 12px;
  font-weight: 860;
}

.review-row-speaking-target small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 730;
}

.review-row-source-condition {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #f5fbff;
  border: 1px solid rgba(28, 111, 184, 0.16);
  border-radius: 8px;
}

.review-row-source-condition i,
.review-row-source-condition em,
.review-row-source-condition small {
  display: block;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
}

.review-row-source-condition i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: #1c5d89;
  font-size: 11px;
  font-weight: 880;
}

.review-row-source-condition i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #1c5d89;
  background: #e4f3fb;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-row-source-condition em {
  color: var(--ink);
  font-size: 12px;
  font-weight: 840;
}

.review-row-source-condition small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.review-row-source-repair {
  background: #fffaf2;
  border-color: rgba(216, 151, 37, 0.18);
}

.review-row-source-repair i {
  color: #8a5b11;
}

.review-row-source-repair i b {
  color: #8a5b11;
  background: #fff0c9;
}

.review-row-source-repair em {
  color: var(--ink);
}

.review-row-unsteady-repair {
  background: #fff8e9;
  border-color: rgba(212, 122, 24, 0.22);
}

.review-row-unsteady-repair.is-repaired {
  background: #f2fbf7;
  border-color: rgba(17, 95, 74, 0.16);
}

.review-row-unsteady-repair i {
  color: #8a4b00;
}

.review-row-unsteady-repair.is-repaired i {
  color: var(--green-dark);
}

.review-row-unsteady-repair i b {
  color: #8a4b00;
  background: rgba(212, 122, 24, 0.14);
}

.review-row-unsteady-repair.is-repaired i b {
  color: var(--green-dark);
  background: rgba(17, 95, 74, 0.12);
}

.review-row-unsteady-repair em {
  color: var(--ink);
}

.review-recall-card {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #fffaf2;
  border: 1px solid rgba(216, 151, 37, 0.18);
  border-radius: 8px;
}

.review-recall-card i,
.review-recall-card em,
.review-recall-card small {
  display: block;
  font-style: normal;
  line-height: 1.4;
}

.review-recall-card i {
  color: #a76516;
  font-size: 11px;
  font-weight: 860;
}

.review-recall-card em {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 820;
  text-align: left;
}

.review-recall-card small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.review-row-chunk-check {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #f1faf6;
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-radius: 8px;
}

.review-row-chunk-check i,
.review-row-chunk-check em,
.review-row-chunk-check small {
  display: block;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
}

.review-row-chunk-check i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.review-row-chunk-check i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-row-chunk-check em {
  color: var(--ink);
  font-size: 12px;
  font-weight: 840;
}

.review-row-chunk-check small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.review-row-variant {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #f3fbf8;
  border: 1px solid rgba(37, 184, 148, 0.2);
  border-radius: 8px;
}

.review-row-variant i,
.review-row-variant em,
.review-row-variant small {
  display: block;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
}

.review-row-variant i {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.review-row-variant i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
}

.review-row-variant em {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 840;
}

.review-row-variant small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.review-row-template {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #fffaf2;
  border: 1px solid rgba(216, 151, 37, 0.18);
  border-radius: 8px;
}

.review-row-template i,
.review-row-template em,
.review-row-template small {
  display: block;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
}

.review-row-template i {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  color: #a76516;
  font-size: 11px;
  font-weight: 880;
}

.review-row-template i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #8a5d15;
  background: #fff1d5;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-row-template em {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 840;
}

.review-row-template small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.review-row-weakness-carryover {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #eef8f4;
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-left: 3px solid var(--green);
  border-radius: 8px;
}

.review-row-weakness-carryover i,
.review-row-weakness-carryover em,
.review-row-weakness-carryover small {
  display: block;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
}

.review-row-weakness-carryover i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
}

.review-row-weakness-carryover i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #dff3ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-row-weakness-carryover em {
  color: var(--ink);
  font-size: 12px;
  font-weight: 860;
}

.review-row-weakness-asset-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.review-row-weakness-asset-strip span {
  min-width: 0;
  min-height: 46px;
  padding: 7px 5px;
  display: grid;
  align-content: center;
  gap: 2px;
  text-align: center;
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.08);
  border-radius: 8px;
}

.review-row-weakness-asset-strip small,
.review-row-weakness-asset-strip strong {
  display: block;
  margin: 0;
  min-width: 0;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.review-row-weakness-asset-strip small {
  color: rgba(12, 80, 61, 0.62);
  font-size: 8px;
  font-weight: 900;
}

.review-row-weakness-asset-strip strong {
  display: -webkit-box;
  min-height: 22px;
  color: var(--green-dark);
  font-size: 9px;
  font-weight: 930;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.review-row-weakness-carryover small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 730;
}

.review-row-weakness-carryover .review-row-weakness-asset-strip small {
  color: rgba(12, 80, 61, 0.62);
  font-size: 8px;
  font-weight: 900;
}

.review-row-next-focus {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  background: #f0f8f5;
  border: 1px solid rgba(31, 143, 115, 0.14);
  border-radius: 8px;
}

.review-row-next-focus i,
.review-row-next-focus em,
.review-row-next-focus small {
  display: block;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
}

.review-row-next-focus i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 880;
}

.review-row-next-focus i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-row-next-focus em {
  color: var(--ink);
  font-size: 12px;
  font-weight: 840;
}

.review-row-next-focus small {
  margin-top: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.review-row-interval-plan {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 9px 10px;
  color: #ffffff;
  background: linear-gradient(135deg, #0c503d, #1d76a9);
  border-radius: 8px;
}

.review-row-interval-plan i,
.review-row-interval-plan em,
.review-row-interval-plan small {
  display: block;
  font-style: normal;
  line-height: 1.4;
  text-align: left;
}

.review-row-interval-plan i {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.84);
  font-size: 11px;
  font-weight: 900;
}

.review-row-interval-plan i b {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: var(--green-dark);
  background: #dff4ec;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.review-row-interval-plan em {
  color: #ffffff;
  font-size: 12px;
  font-weight: 880;
}

.review-row-interval-plan small {
  margin-top: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-weight: 730;
}

.review-row-support-card {
  gap: 3px;
  margin-top: 6px;
  padding: 6px 8px;
  background: #f8fbfa;
  border-color: rgba(12, 80, 61, 0.08);
  border-left-width: 1px;
  border-radius: 7px;
  box-shadow: none;
}

.review-row-support-card i,
.review-row-support-card em,
.review-row-support-card small {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 710;
}

.review-row-support-card i {
  color: #49635b;
  font-weight: 820;
}

.review-row-support-card i b {
  color: var(--green-dark);
  background: #eef8f3;
}

.review-row-support-card em {
  color: #34423d;
  font-size: 11.5px;
  font-weight: 760;
}

.review-row-support-card small {
  margin-top: 1px;
}

.review-row-daily-micro-drill {
  background: linear-gradient(135deg, #eef8f4, #f7fbff);
  border-color: rgba(28, 111, 184, 0.12);
}

.review-row-daily-micro-drill i {
  color: #174a70;
}

.review-row-daily-micro-drill i b {
  color: #174a70;
  background: #e2f0fb;
}

.review-row-daily-micro-drill em {
  display: -webkit-box;
  color: #203b45;
  font-weight: 820;
  line-height: 1.34;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.review-row-daily-micro-drill small {
  color: #52716d;
  line-height: 1.34;
}

.review-queue-row > em.review-row-action {
  display: grid;
  gap: 2px;
  justify-items: end;
  min-width: 44px;
  padding: 6px 7px;
  color: var(--green);
  background: #eef8f3;
  border: 1px solid rgba(31, 143, 115, 0.16);
  border-radius: 999px;
  text-align: right;
}

.review-row-action b,
.review-row-action i {
  display: block;
  font-style: normal;
  line-height: 1.1;
  white-space: nowrap;
}

.review-row-action b {
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 880;
}

.review-row-action i {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
}

.word-card {
  padding: 18px;
  margin-bottom: 14px;
  background: var(--white);
  border-radius: 8px;
}

.word-card h2 {
  margin-bottom: 10px;
  font-size: 36px;
  line-height: 1;
}

.word-card .phonetic {
  display: block;
  margin-bottom: 14px;
  color: var(--coral);
  font-size: 14px;
  font-weight: 780;
}

.word-card p {
  margin-bottom: 12px;
  color: var(--muted);
  line-height: 1.58;
}

.word-example {
  padding: 12px;
  color: #31413a;
  background: #edf4f0;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}

.word-detail-speaking-link {
  display: grid;
  gap: 8px;
  padding: 15px;
  margin-bottom: 12px;
  color: var(--ink);
  background: linear-gradient(135deg, #f7fbf9, #fffaf3);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.word-detail-speaking-link p,
.word-detail-speaking-link em,
.word-detail-speaking-link small {
  margin: 0;
  color: var(--muted);
  font-style: normal;
  line-height: 1.45;
}

.word-detail-speaking-link p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
  font-weight: 860;
}

.word-detail-speaking-link p span {
  color: var(--green);
}

.word-detail-speaking-link strong {
  font-size: 15px;
  line-height: 1.35;
}

.word-detail-speaking-link small {
  color: var(--green-dark);
  font-weight: 820;
}

.word-speaking-route {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  color: var(--ink);
  background: #ffffff;
  border: 1px solid rgba(11, 90, 69, 0.14);
  border-radius: 8px;
}

.word-speaking-route p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.35;
}

.word-speaking-route p span {
  color: var(--muted);
  font-weight: 760;
}

.word-speaking-route ol {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.word-speaking-route li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 2px 8px;
  align-items: center;
  padding: 8px;
  background: #f7fbf9;
  border-radius: 8px;
}

.word-speaking-route li strong {
  grid-row: 1 / 3;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: var(--white);
  background: var(--green-dark);
  border-radius: 7px;
  font-size: 12px;
}

.word-speaking-route li span,
.word-speaking-route li em {
  overflow-wrap: anywhere;
  line-height: 1.34;
}

.word-speaking-route li span {
  font-size: 12px;
  font-weight: 860;
}

.word-speaking-route li em {
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
  font-weight: 680;
}

.chunk-bridge-card {
  padding: 15px;
  margin: 12px 0;
  background: linear-gradient(135deg, #f7fbf9, #fffaf3);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
}

.chunk-bridge-card p {
  margin-bottom: 10px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 820;
}

.chunk-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
}

.chunk-line span {
  padding: 6px 8px;
  color: var(--green-dark);
  background: #e1f0ea;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 820;
}

.chunk-line b {
  color: var(--muted);
  font-size: 12px;
}

.chunk-bridge-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.42;
}

.chunk-bridge-card em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.chunk-source-card {
  padding: 14px;
  margin-bottom: 12px;
  background: #f8fcfa;
  border: 1px solid #d8e9e2;
  border-left: 4px solid #2fb497;
  border-radius: 8px;
}

.chunk-source-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.chunk-source-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.chunk-source-card div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  margin-bottom: 10px;
  background: #ffffff;
  border-radius: 8px;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 850;
}

.chunk-source-card div i {
  padding: 3px 6px;
  background: #e9f6f1;
  border-radius: 999px;
  font-style: normal;
  white-space: nowrap;
}

.chunk-source-card strong,
.chunk-source-card em {
  display: block;
  font-style: normal;
  line-height: 1.45;
}

.chunk-source-card strong {
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 14px;
}

.chunk-source-steps {
  display: grid;
  gap: 6px;
  margin: 8px 0 9px;
}

.chunk-source-steps span {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: center;
  gap: 7px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}

.chunk-source-steps b {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: #ffffff;
  background: #2fb497;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
}

.source-condition-repair-card {
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #ffffff, #f3fbff);
  border: 1px solid rgba(35, 114, 163, 0.2);
  border-left: 4px solid #2372a3;
  border-radius: 8px;
}

.source-condition-repair-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: #144760;
  font-size: 12px;
  font-weight: 880;
}

.source-condition-repair-card p span {
  padding: 4px 8px;
  color: #144760;
  background: #e8f6fd;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.source-condition-repair-card strong {
  display: block;
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.4;
}

.source-condition-repair-card div {
  display: grid;
  gap: 7px;
  margin-bottom: 10px;
}

.source-condition-repair-card div span {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
}

.source-condition-repair-card b {
  color: #144760;
  font-size: 11px;
  font-weight: 880;
}

.source-condition-repair-card em {
  display: block;
  color: #144760;
  font-size: 12px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.45;
}

.source-condition-speak-card {
  padding: 14px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  border: 1px solid rgba(150, 84, 38, 0.2);
  border-left: 4px solid #c1782d;
  border-radius: 8px;
}

.source-condition-speak-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: #87501f;
  font-size: 12px;
  font-weight: 880;
}

.source-condition-speak-card p span {
  padding: 4px 8px;
  color: #87501f;
  background: #ffe7c5;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.source-condition-speak-card strong {
  display: block;
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.4;
}

.source-condition-speak-card div {
  display: grid;
  gap: 7px;
  margin-bottom: 10px;
}

.source-condition-speak-card div span {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.45;
}

.source-condition-speak-card b {
  color: #87501f;
  font-size: 11px;
  font-weight: 880;
}

.source-condition-speak-card em,
.source-condition-recording-hint {
  display: block;
  color: #87501f;
  font-size: 12px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.45;
}

.chunk-source-card em {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.chunk-speak-plan-card {
  padding: 15px;
  margin-bottom: 12px;
  background: #ffffff;
  border: 1px solid rgba(12, 80, 61, 0.14);
  border-left: 4px solid var(--green);
  border-radius: 8px;
}

.chunk-speak-plan-card p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 860;
}

.chunk-speak-plan-card p span {
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 880;
  white-space: nowrap;
}

.chunk-speak-plan-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.42;
}

.chunk-speak-plan-card ul {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.chunk-speak-plan-card li {
  position: relative;
  padding-left: 16px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.chunk-speak-plan-card li::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--green);
  border-radius: 999px;
}

.chunk-speak-gate-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f5fffa, #ffffff);
  border: 1px solid rgba(31, 143, 115, 0.2);
  border-left: 4px solid #1f8f73;
  border-radius: 8px;
}

.chunk-speak-gate-card p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 920;
}

.chunk-speak-gate-card p span {
  flex: 0 0 auto;
  padding: 4px 8px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 920;
}

.chunk-speak-gate-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.38;
}

.chunk-speak-gate-card div {
  display: grid;
  gap: 8px;
}

.chunk-speak-gate-card div span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  color: var(--muted);
  background: rgba(12, 80, 61, 0.05);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 740;
  line-height: 1.42;
}

.chunk-speak-gate-card div b {
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 920;
}

.chunk-speak-gate-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}

.chunk-speak-gate-card small {
  justify-self: start;
  padding: 7px 10px;
  color: var(--green-dark);
  background: #ddf1ea;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 920;
  line-height: 1.35;
}

.app-nav {
  position: relative;
  z-index: 4;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  padding: 6px;
  margin-top: 10px;
  box-shadow: 0 -10px 24px rgba(23, 33, 29, 0.06);
}

.app-nav button {
  display: grid;
  min-height: 44px;
  place-items: center;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 760;
}

.app-nav button.is-active {
  color: var(--green-dark);
  background: #e3f0ea;
}

.section-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(54px, 8vw, 92px) clamp(18px, 4vw, 30px);
}

.intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: clamp(24px, 6vw, 74px);
  align-items: start;
}

.section-heading {
  max-width: 680px;
  margin-bottom: 30px;
}

.section-heading.compact {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.intro-grid h2,
.section-heading h2,
.mvp-copy h2 {
  margin-bottom: 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.12;
}

.intro-grid > p,
.mvp-copy p {
  color: var(--muted);
  font-size: 19px;
  line-height: 1.75;
}

.flow-grid,
.scene-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.flow-grid article,
.scene-grid article {
  padding: 22px;
  min-height: 188px;
}

.flow-grid span {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--coral);
  font-weight: 820;
}

.flow-grid h3,
.scene-grid h3,
.mini-screen h3 {
  margin-bottom: 10px;
  font-size: 19px;
}

.flow-grid p,
.scene-grid p,
.mini-screen p {
  color: var(--muted);
  line-height: 1.65;
}

.app-preview-band {
  background: #dfece6;
}

.screen-row {
  display: grid;
  max-width: 1060px;
  margin: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: center;
}

.mini-screen {
  min-height: 420px;
  padding: 20px;
  border: 10px solid #18231f;
  border-radius: 34px;
  box-shadow: 0 24px 54px rgba(23, 33, 29, 0.14);
}

.mini-screen.active {
  min-height: 470px;
  transform: translateY(-8px);
}

.mini-status {
  width: 74px;
  height: 6px;
  margin: 0 auto 26px;
  background: #d9e3de;
  border-radius: 999px;
}

.progress-line {
  height: 10px;
  margin: 20px 0;
  overflow: hidden;
  background: #e4eee8;
  border-radius: 999px;
}

.progress-line span {
  display: block;
  height: 100%;
  background: var(--green);
}

.lesson-list {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.lesson-list li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  background: #f3f7f4;
  border-radius: 8px;
  color: #31413a;
  font-size: 13px;
}

.lesson-list span {
  color: var(--green);
  white-space: nowrap;
}

.ring-score {
  display: grid;
  width: 150px;
  height: 150px;
  place-items: center;
  margin: 30px auto;
  color: var(--green-dark);
  background:
    radial-gradient(circle at center, #fff 57%, transparent 58%),
    conic-gradient(var(--aqua) 0 92%, #e3ede8 92% 100%);
  border-radius: 50%;
  font-size: 48px;
  font-weight: 850;
}

.chat-line {
  padding: 12px;
  margin-top: 16px;
  border-radius: 8px;
  line-height: 1.45;
}

.chat-line.user {
  color: var(--white);
  background: var(--green-dark);
}

.chat-line.coach {
  color: #31413a;
  background: #e7f0eb;
}

.scene-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mvp-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: clamp(28px, 6vw, 72px);
  align-items: center;
}

.mvp-checklist {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.mvp-checklist div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  background: #f3f7f4;
  border-radius: 8px;
  font-weight: 720;
}

.site-footer {
  justify-content: space-between;
  gap: 16px;
  padding: 26px clamp(18px, 4vw, 56px);
  color: var(--muted);
  border-top: 1px solid var(--line);
}

.site-footer strong {
  color: var(--ink);
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 14px;
  font-weight: 720;
}

.legal-page {
  background: #f2f7f4;
}

.legal-shell {
  width: min(920px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(42px, 7vw, 76px) 0;
}

.legal-hero {
  margin-bottom: 22px;
}

.legal-hero h1 {
  max-width: 760px;
  margin-bottom: 18px;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1.05;
}

.legal-hero p {
  max-width: 780px;
  color: #31413a;
  font-size: 17px;
  line-height: 1.8;
}

.legal-date {
  font-weight: 760;
}

.legal-card {
  margin-top: 14px;
  padding: clamp(18px, 4vw, 30px);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.legal-card h2 {
  margin-bottom: 14px;
  font-size: 22px;
}

.legal-card h3 {
  margin-bottom: 8px;
  font-size: 17px;
}

.legal-card p,
.legal-card li {
  color: #3d4d46;
  font-size: 15px;
  line-height: 1.8;
}

.legal-card ul {
  margin: 0;
  padding-left: 20px;
}

.legal-card a {
  color: var(--green-dark);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.app-only-mode {
  min-height: 100vh;
  overflow: hidden;
  background: #eef6f2;
}

body.app-only-mode .site-header,
body.app-only-mode .hero-copy,
body.app-only-mode main > section:not(.hero),
body.app-only-mode .site-footer {
  display: none;
}

body.app-only-mode main {
  padding: 0;
}

body.app-only-mode .hero {
  display: grid;
  min-height: 100vh;
  padding: 0;
  grid-template-columns: 1fr;
  place-items: center;
  background: #eef6f2;
}

body.app-only-mode .hero::after {
  display: none;
}

body.app-only-mode .phone-stage {
  position: static;
  width: 100%;
  min-height: 100vh;
  padding: 12px 0;
  background: #eef6f2;
  pointer-events: auto;
}

body.app-only-mode .phone-shell {
  width: min(360px, calc(100vw - 32px));
  pointer-events: auto;
}

body.app-only-mode .app-screen {
  height: min(780px, calc(100vh - 24px));
  min-height: min(780px, calc(100vh - 24px));
}

@supports (height: 100dvh) {
  body.app-only-mode .hero,
  body.app-only-mode .phone-stage {
    min-height: 100dvh;
  }

  body.app-only-mode .app-screen {
    height: min(780px, calc(100dvh - 24px));
    min-height: min(780px, calc(100dvh - 24px));
  }
}

body.app-only-mode .app-screen {
  padding-bottom: max(17px, env(safe-area-inset-bottom));
}

@media (display-mode: standalone), (max-width: 720px) {
  body.app-only-mode {
    background: #f3faf6;
  }

  body.app-only-mode .hero {
    background: #f3faf6;
  }

  body.app-only-mode .phone-stage {
    min-height: 100vh;
    padding: 0;
    background: #f3faf6;
  }

  body.app-only-mode .phone-shell {
    width: 100%;
    min-height: 100vh;
    border-radius: 0;
    box-shadow: none;
    border: 0;
    background: #f3faf6;
  }

  body.app-only-mode .app-screen {
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    border-radius: 0;
    border: 0;
    padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  }
}

@supports (height: 100dvh) {
  @media (display-mode: standalone), (max-width: 720px) {
    body.app-only-mode .phone-stage,
    body.app-only-mode .phone-shell,
    body.app-only-mode .app-screen {
      min-height: 100dvh;
    }

    body.app-only-mode .app-screen {
      height: 100dvh;
    }
  }
}

@media (min-width: 1180px) {
  body {
    background:
      linear-gradient(90deg, var(--paper) 0 calc(100% - 440px), #e7f1ec calc(100% - 440px) 100%);
  }

  .site-header,
  main,
  .site-footer {
    padding-right: 440px;
  }

  .hero {
    min-height: calc(100vh - 69px);
    grid-template-columns: minmax(0, 1fr);
    padding-right: clamp(28px, 5vw, 74px);
  }

  .hero-copy {
    max-width: 760px;
  }

  h1 {
    max-width: 720px;
  }

  .phone-stage {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 18;
    width: 440px;
    min-height: 100vh;
    padding: 24px 0;
    background: #eef6f2;
    align-content: center;
    justify-items: center;
    pointer-events: none;
  }

  .phone-stage::before {
    content: none;
    display: none;
  }

  .phone-shell {
    pointer-events: auto;
  }

  .phone-shell {
    width: 360px;
  }

  .app-screen {
    height: min(760px, calc(100vh - 48px));
    min-height: 610px;
  }

  .section-wrap {
    max-width: 860px;
    margin-left: 0;
    margin-right: 0;
    padding-left: clamp(28px, 4vw, 56px);
    padding-right: clamp(28px, 4vw, 56px);
  }

  .intro-grid,
  .mvp-section {
    grid-template-columns: 1fr;
  }

  .flow-grid,
  .scene-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-preview-band {
    padding-right: clamp(28px, 4vw, 56px);
  }

  .screen-row {
    max-width: 820px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mini-screen {
    min-height: 360px;
    border-width: 8px;
  }
}

@media (max-width: 980px) {
  .hero {
    grid-template-columns: 1fr;
    padding-top: 42px;
  }

  .phone-stage {
    min-height: 560px;
  }

  .flow-grid,
  .screen-row,
  .scene-grid,
  .mvp-section,
  .intro-grid {
    grid-template-columns: 1fr 1fr;
  }

  .screen-row .mini-screen.active {
    transform: none;
  }
}

@media (max-width: 720px) {
  .site-header {
    align-items: flex-start;
  }

  .nav-links {
    display: none;
  }

  .header-cta {
    min-height: 38px;
    padding: 0 12px;
  }

  .hero {
    min-height: auto;
    padding-top: 38px;
  }

  .hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .hero-metrics div {
    min-width: 0;
    padding: 12px 10px;
  }

  .hero-metrics strong {
    font-size: 20px;
  }

  .hero-metrics span {
    font-size: 12px;
  }

  .phone-stage {
    min-height: auto;
    padding-bottom: 36px;
  }

  .phone-shell {
    width: min(330px, 100%);
  }

  .app-screen {
    min-height: 570px;
    padding: 17px;
  }

  .asset-proof-detail-card {
    padding: 12px;
  }

  .asset-proof-detail-card strong {
    margin-bottom: 6px;
    font-size: 15px;
    line-height: 1.25;
  }

  .asset-proof-detail-card b {
    padding: 7px 8px;
    margin: 6px 0;
    display: -webkit-box;
    font-size: 12px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .asset-proof-detail-card > small {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .asset-proof-quick-strip {
    gap: 5px;
    margin-top: 8px;
  }

  .asset-proof-quick-strip span {
    min-height: 44px;
    padding: 6px 5px;
  }

  .asset-proof-detail-card .asset-proof-primary-action-hint {
    padding: 6px 8px;
    margin-top: 8px;
    -webkit-line-clamp: 1;
  }

  .asset-proof-detail-card > button {
    min-height: 42px;
    margin-top: 8px;
  }

  .review-queue-row {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px;
  }

  .review-queue-row .course-icon {
    width: 34px;
    height: 34px;
    font-size: 14px;
  }

  .review-row-support-card {
    padding: 6px 7px;
  }

  .queued-daily-micro-drill-card {
    padding: 12px;
  }

  .queued-daily-micro-drill-card strong {
    display: -webkit-box;
    font-size: 13px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }

  .queued-daily-micro-drill-card div span {
    grid-template-columns: 50px 1fr;
    font-size: 10.5px;
  }

  .speaking-order-recording-hint {
    display: -webkit-box;
    max-height: 42px;
    padding: 5px 7px;
    line-height: 1.24;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .flow-grid,
  .screen-row,
  .scene-grid,
  .mvp-section,
  .intro-grid {
    grid-template-columns: 1fr;
  }

  .mini-screen,
  .mini-screen.active {
    min-height: 380px;
  }

  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }

}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .audio-wave span {
    animation: none;
  }

  .score-speaking-order-retry-result-card button,
  .review-entry-score-result-card button,
  .review-deck-completion-card button,
  .source-condition-score-card button,
  .score-bottom-action-card button {
    transition: none;
  }

  .score-speaking-order-retry-result-card button:active,
  .review-entry-score-result-card button:active,
  .review-deck-completion-card button:active,
  .source-condition-score-card button:active,
  .score-bottom-action-card button:active {
    transform: none;
  }
}

/* App simulator final overrides */
.app-screen .profile-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.app-screen .practice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.app-screen .practice-grid button {
  display: block;
  min-height: 72px;
  padding: 12px;
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(219, 228, 223, 0.95);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  text-align: left;
  appearance: none;
}

.app-screen .practice-grid strong,
.app-screen .practice-grid span {
  display: block;
}

.app-screen .practice-grid strong {
  margin-bottom: 7px;
  font-size: 15px;
}

.app-screen .practice-grid span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.app-screen .practice-hero {
  color: var(--white);
  background:
    linear-gradient(135deg, rgba(12, 80, 61, 0.94), rgba(28, 111, 184, 0.82)),
    url("https://images.unsplash.com/photo-1494412651409-8963ce7935a7?auto=format&fit=crop&w=900&q=80");
  background-position: center;
  background-size: cover;
}
