.as-hero{--font-head:"Montserrat",sans-serif;--font-body:"Open Sans",sans-serif;--font-sc-body:"Plus Jakarta Sans","Open Sans",-apple-system,BlinkMacSystemFont,sans-serif;background:#1B2D6B;color:#fff;font-family:var(--font-body);padding:104px 24px 118px;position:relative;overflow:hidden}
.as-container{width:min(1160px,100%);margin:0 auto;position:relative;z-index:1}
.as-hero-content{max-width:1160px;text-align:center}
.as-hero-badge{display:inline-block;background:#1B2D6B;color:#FFD700;border:2px solid #FFD700;border-radius:6px;padding:10px 22px;font-family:var(--font-head);font-size:16px;line-height:1.3;letter-spacing:3px;text-transform:uppercase;font-weight:700;transform:rotate(-1.5deg);box-shadow:0 6px 18px rgba(0,0,0,.35)}
.as-hero-social{font-family:var(--font-head);font-size:13px;color:rgba(255,255,255,.6);margin:16px 0;line-height:1.5}
.as-hero-social a{color:#F5C518;font-weight:700}
.as-hero h1{font-family:var(--font-head);font-weight:900;font-size:clamp(42px,7vw,72px);line-height:1.05;letter-spacing:0;margin:0 auto 28px;max-width:1160px;text-transform:uppercase;color:#fff}
.as-hero-title-line{display:block}
.as-hero h1 .as-hero-title-slab{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;margin:10px auto 0;background:#FFD700;color:#1B2D6B;padding:2px 16px;border-radius:4px;font-size:1.08em;line-height:1.08;transform:rotate(-1deg);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.as-subhead{max-width:860px;font-size:clamp(17px,2vw,22px);line-height:1.55;color:rgba(255,255,255,.92);margin:0 auto 22px}
.as-info{font-size:14px;line-height:1.7;color:rgba(255,255,255,.78);font-weight:700;margin:0 auto 30px}
.as-info strong{color:#FFD700}
.as-btn{display:inline-flex;justify-content:center;align-items:center;background:#FFD700;color:#1B2D6B;border:2px solid #FFD700;border-radius:100px;padding:16px 28px;text-decoration:none;font-family:var(--font-sc-body);font-weight:900;font-size:14px;letter-spacing:1px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.as-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(255,215,0,.28)}
.as-hero-cta{display:flex;justify-content:center;gap:14px;width:min(100%,734px);margin:0 auto}
.as-hero-cta .as-btn,.as-hero-call-btn{flex:1 1 0;min-height:56px;padding:16px 36px;border-radius:8px;font-family:var(--font-head);font-size:16px;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.as-hero .as-btn{border-radius:8px;transform:rotate(-1deg);box-shadow:6px 6px 0 #9A7B0A}
.as-hero .as-btn:hover{background:#FFD700;transform:rotate(-1deg) translateY(-3px);box-shadow:8px 10px 0 #9A7B0A}
.as-hero-call-btn{background:transparent;color:#fff;border:2px solid #fff;transition:transform .2s ease,background .2s ease}
.as-hero-call-btn:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.as-micro{font-size:12px;color:rgba(255,255,255,.7);font-weight:700;margin:13px 0 0 16px}
.as-hero .as-micro{font-family:var(--font-body);font-size:16px;line-height:1.5;margin:18px auto 0;text-align:center}
.as-hero .as-micro+.as-micro{margin-top:6px}
.as-hero .as-promise-line{color:#FFD700}
.info-request-trigger-link{display:inline-block;color:#FFD700;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.info-request-trigger-link:hover{color:#fff}
@media(max-width:700px){.as-hero{padding:74px 20px 100px}.as-hero-badge{font-size:13px;letter-spacing:2px;padding:8px 16px}.as-hero h1{font-size:clamp(28px,8vw,42px)}.as-hero h1 .as-hero-title-slab{padding:3px 12px}}
@media(max-width:600px){.as-hero-cta{flex-direction:column;width:100%;gap:12px}.as-hero-cta .as-btn,.as-hero-call-btn{flex:none;width:100%;min-height:56px;padding:16px 20px}}
@media(max-width:390px){.as-hero h1{font-size:28px}.as-hero h1 .as-hero-title-slab{font-size:23px;white-space:nowrap}}

#tutor-member-experience {
  --tutor-navy: #1B2D6B;
  --tutor-navy-deep: #0C1736;
  --tutor-gold: #FFD700;
  --tutor-green: #16A45D;
  --tutor-cream: #FFF9E8;
  --tutor-ink: #17213b;
  --tutor-muted: #66708a;
  --tutor-line: rgba(27, 45, 107, .16);
  background: #f4f1ea;
  color: var(--tutor-ink);
  padding: 64px 20px 72px;
}

#tutor-member-experience * { box-sizing: border-box; }
#tutor-member-experience button,
#tutor-member-experience input,
#tutor-member-experience select,
#tutor-member-experience textarea { font: inherit; }

.tutor-shell { width: min(1120px, 100%); margin: 0 auto; }
.tutor-section-heading { max-width: 760px; margin: 0 auto 28px; text-align: center; }
.tutor-eyebrow {
  color: #9a7410;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.tutor-section-heading h2,
.tutor-board-title,
.tutor-progress-title {
  color: var(--tutor-navy);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-weight: 400;
  letter-spacing: .025em;
}
.tutor-section-heading h2 { font-size: clamp(36px, 5vw, 58px); line-height: .98; margin: 10px 0 12px; }
.tutor-section-heading p { color: #55617a; font-size: 17px; margin: 0; }
.tutor-nonmember { color: #66708a; font-size: 13px; margin: 18px auto 0; text-align: center; }
.tutor-nonmember a { color: var(--tutor-navy); font-weight: 800; text-decoration: none; }

.tutor-card {
  background: #fff;
  border: 1px solid var(--tutor-line);
  border-radius: 20px;
  box-shadow: 0 18px 45px rgba(27, 45, 107, .12);
  margin: 0 auto;
  max-width: 720px;
  overflow: hidden;
  padding: clamp(22px, 5vw, 38px);
}
.tutor-card-narrow { max-width: 560px; }
.tutor-card h3 { color: var(--tutor-navy); font-size: 24px; margin: 0 0 6px; }
.tutor-card-lede { color: var(--tutor-muted); margin: 0 0 22px; }
.tutor-field { margin: 0 0 17px; }
.tutor-field label,
.tutor-group-label {
  color: var(--tutor-navy);
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  margin: 0 0 7px;
  text-transform: uppercase;
}
.tutor-field input,
.tutor-field select,
.tutor-field textarea {
  background: #fffdf7;
  border: 1px solid #cad0df;
  border-radius: 10px;
  color: var(--tutor-ink);
  min-height: 48px;
  outline: none;
  padding: 11px 13px;
  width: 100%;
}
.tutor-field textarea { min-height: 96px; resize: vertical; }
.tutor-field input:focus,
.tutor-field select:focus,
.tutor-field textarea:focus { border-color: var(--tutor-green); box-shadow: 0 0 0 3px rgba(22, 164, 93, .13); }
.tutor-grid-two { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.tutor-profile-lock {
  align-items: center;
  background: linear-gradient(135deg, #fff 0%, #fff9e8 100%);
  border: 2px solid var(--tutor-gold);
  border-radius: 14px;
  display: flex;
  gap: 13px;
  margin: 0 0 17px;
  min-height: 88px;
  padding: 14px 16px;
}
.tutor-profile-lock-icon {
  align-items: center;
  background: var(--tutor-navy);
  border-radius: 50%;
  color: var(--tutor-gold);
  display: inline-flex;
  flex: 0 0 42px;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.tutor-profile-lock-icon svg { fill: currentColor; height: 22px; width: 22px; }
.tutor-profile-lock strong { color: var(--tutor-navy); display: block; font-size: 15px; line-height: 1.35; }
.tutor-profile-lock p { color: var(--tutor-muted); font-size: 11px; line-height: 1.45; margin: 4px 0 0; }
.tutor-fineprint { color: var(--tutor-muted); font-size: 11px; margin: 12px 0 0; text-align: center; }
.tutor-build-note { line-height: 1.45; margin: -10px 0 18px; }
.tutor-topic-support { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; margin-top: 7px; }
.tutor-topic-help { margin: 0; text-align: left; }
.tutor-topic-counter { color: var(--tutor-muted); flex: 0 0 auto; font-size: 10px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
/* The topic box is a SHORT-ANSWER field, not a paragraph box. The general `.tutor-field textarea`
   rule above sets a 96px paragraph height; the topic field overrides that to roughly two lines so
   the box itself signals "one skill, not a whole chapter" before the helper text has to say it.
   The 44px minimum keeps the tap target honest on small screens. */
.tutor-field textarea#tutor-topic { height: 56px; line-height: 1.35; max-height: 56px; min-height: 56px; overflow-y: auto; resize: none; }
/* Marked, because the member root's blanket `#tutor-member-experience *{color:#1B2D6B!important}`
   rule below would otherwise flatten the at-the-limit warning back to body navy. */
#tutor-member-experience .tutor-topic-counter.is-near { color: #a32929 !important; }
.tutor-inline-error { color: #a32929; font-size: 13px; font-weight: 700; margin: 10px 0 0; }
.tutor-device-reset { border-top: 1px solid rgba(27, 45, 107, .18); margin-top: 16px; padding-top: 16px; }
.tutor-device-reset-toggle { width: 100%; }
.tutor-device-reset-form { background: #fff; border: 1px solid #d8dce7; border-radius: 12px; padding: 16px; text-align: left; }
.tutor-device-reset-form .tutor-field { margin-bottom: 12px; }
.tutor-device-reset-hint { color: var(--tutor-muted); font-size: 11px; line-height: 1.4; margin: 6px 0 0; }
.tutor-device-reset-actions { display: grid; gap: 9px; grid-template-columns: 1fr auto; }
.tutor-device-reset-actions .tutor-button { min-height: 44px; padding: 9px 14px; }
.tutor-device-reset-message { border-radius: 9px; font-size: 13px; font-weight: 750; line-height: 1.45; margin: 0 0 12px; padding: 10px 11px; }
.tutor-device-reset-message.is-error { background: #fff1ef; color: #8e2621; }
.tutor-device-reset-message.is-success { background: #ecf8f0; color: #17603a; }
.tutor-device-reset-message a { color: inherit; font-weight: 900; text-decoration: underline; text-underline-offset: 2px; }
.tutor-session-status { display: flex; justify-content: flex-end; margin: 0 0 15px; }
.tutor-session-line { color: #5c6780; font-size: 12px; margin: 0; text-align: right; }

.tutor-button {
  align-items: center;
  appearance: none;
  background: var(--tutor-gold);
  border: 2px solid var(--tutor-gold);
  border-radius: 10px;
  color: var(--tutor-navy-deep);
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  justify-content: center;
  letter-spacing: .07em;
  min-height: 48px;
  padding: 11px 20px;
  text-transform: uppercase;
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.tutor-button:hover { box-shadow: 0 7px 18px rgba(27, 45, 107, .15); transform: translateY(-1px); }
.tutor-button:focus-visible { outline: 3px solid var(--tutor-green); outline-offset: 3px; }
.tutor-button:disabled { cursor: not-allowed; opacity: .42; transform: none; }
.tutor-button-block { width: 100%; }
.tutor-button-outline { background: transparent; border-color: var(--tutor-navy); color: var(--tutor-navy); }
.tutor-button-quiet { background: #fff; border-color: #cbd1df; color: var(--tutor-navy); }
.tutor-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 22px; }

@media (max-width: 420px) {
  .tutor-device-reset-actions { grid-template-columns: 1fr; }
  .tutor-device-reset-actions .tutor-button { width: 100%; }
}

.tutor-dots { display: flex; gap: 8px; justify-content: center; margin: 0 0 22px; }
.tutor-dot { background: #d5d9e3; border-radius: 999px; height: 8px; transition: width .2s ease, background .2s ease; width: 8px; }
.tutor-dot.is-active { background: var(--tutor-green); width: 28px; }
.tutor-step-count { color: var(--tutor-green); font-size: 11px; font-weight: 900; letter-spacing: .14em; margin-bottom: 5px; text-transform: uppercase; }

.tutor-choice-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-bottom: 20px; }
.tutor-choice-grid.tutor-choice-grid-two { grid-template-columns: repeat(2, 1fr); }
.tutor-choice {
  background: #fffdf7;
  border: 2px solid #d8dce7;
  border-radius: 12px;
  color: var(--tutor-navy);
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  min-height: 64px;
  padding: 10px 12px;
}
.tutor-choice:hover { border-color: var(--tutor-green); }
.tutor-choice.is-selected { background: rgba(22, 164, 93, .08); border-color: var(--tutor-green); box-shadow: inset 0 0 0 1px var(--tutor-green); }
.tutor-style-picker { border: 0; margin: 2px 0 22px; min-width: 0; padding: 0; }
.tutor-style-picker legend { color: var(--tutor-navy); font-size: 12px; font-weight: 900; letter-spacing: .08em; margin: 0 0 8px; padding: 0; text-transform: uppercase; }
.tutor-style-row { display: flex; gap: 10px; margin: 0 -4px; overflow-x: auto; padding: 4px 4px 12px; scroll-padding-inline: 4px; scrollbar-color: var(--tutor-gold) #e7eaf1; scrollbar-width: thin; }
.tutor-style-row::-webkit-scrollbar { height: 8px; }
.tutor-style-row::-webkit-scrollbar-track { background: #e7eaf1; border-radius: 999px; }
.tutor-style-row::-webkit-scrollbar-thumb { background: var(--tutor-gold); border: 2px solid #e7eaf1; border-radius: 999px; }
.tutor-style-tile { align-items: center; appearance: none; background: #fffdf7; border: 2px solid #d8dce7; border-radius: 14px; color: var(--tutor-navy); cursor: pointer; display: flex; flex: 0 0 116px; flex-direction: column; gap: 7px; justify-content: center; min-height: 104px; padding: 9px 8px 10px; scroll-snap-align: start; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.tutor-style-tile:hover { border-color: var(--tutor-green); transform: translateY(-1px); }
.tutor-style-tile:focus-visible { outline: 3px solid var(--tutor-green); outline-offset: 2px; }
.tutor-style-tile.is-selected { background: #fff; border-color: var(--tutor-green); box-shadow: inset 0 0 0 1px var(--tutor-green), 0 5px 0 rgba(27,45,107,.08); }
.tutor-style-swatch { align-items: center; background: linear-gradient(145deg, #fff 0%, #fff9e8 68%, #e8f4fb 100%); border: 1px solid rgba(27,45,107,.17); border-radius: 12px; display: flex; height: 58px; justify-content: center; overflow: hidden; position: relative; width: 64px; }
.tutor-style-svg { display: block; height: 54px; overflow: visible; width: 54px; }
.tutor-style-emoji { filter: drop-shadow(0 2px 0 rgba(27,45,107,.12)); font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 38px; line-height: 1; }
.tutor-style-name { font-size: 11px; font-weight: 900; line-height: 1.15; text-align: center; }
.tutor-style-help { margin: 0; text-align: left; }
.tutor-style-classic-coin { fill: #FFD700; stroke: #1B2D6B; stroke-width: 2.4; }
.tutor-style-classic-ring { fill: none; stroke: #fff4aa; stroke-width: 2; }
.tutor-style-classic-glint { fill: #fff; opacity: .9; }

.tutor-upload {
  background: #f8f6ee;
  border: 1px dashed #aab2c7;
  border-radius: 12px;
  padding: 14px;
}
.tutor-upload input { background: transparent; border: 0; min-height: 0; padding: 0; }
.tutor-upload-note { color: var(--tutor-muted); font-size: 12px; margin: 7px 0 0; }
.tutor-upload-preview { align-items: center; display: flex; gap: 12px; margin-top: 12px; }
.tutor-upload-preview img { border: 2px solid #fff; border-radius: 9px; box-shadow: 0 3px 12px rgba(12, 23, 54, .18); height: 68px; object-fit: cover; width: 68px; }
.tutor-remove { background: none; border: 0; color: #9b2f2f; cursor: pointer; font-weight: 800; padding: 4px; text-decoration: underline; }

.tutor-confirm {
  background: #fffdf5;
  border: 3px solid var(--tutor-gold);
  border-radius: 16px;
  color: var(--tutor-navy);
  font-size: 19px;
  font-weight: 800;
  line-height: 1.5;
  padding: 22px;
  text-align: center;
}

.tutor-loading { max-width: 700px; padding-bottom: 34px; padding-top: 34px; }
.tutor-progress-title { font-size: 38px; margin: 0 0 7px; text-align: center; }
.tutor-progress-caption { color: var(--tutor-muted); font-size: 15px; margin: 0 0 22px; text-align: center; }
.tutor-progress-track { background: #e2e4e8; border-radius: 999px; height: 13px; overflow: hidden; }
.tutor-progress-bar { background: linear-gradient(90deg, #e5b800, var(--tutor-gold)); border-radius: inherit; height: 100%; transition: width .4s ease; }
.tutor-stage-list { display: grid; gap: 7px; grid-template-columns: repeat(4, 1fr); margin-top: 12px; }
.tutor-stage { color: #8a91a3; font-size: 10px; font-weight: 800; text-align: center; }
.tutor-stage.is-current { color: var(--tutor-navy); }
.tutor-stage.is-done { color: var(--tutor-green); }

.tutor-error-panel {
  background: #fff8ed;
  border: 2px solid #e6ad43;
  border-radius: 14px;
  color: #603e0d;
  margin: 16px auto 0;
  max-width: 620px;
  padding: 18px;
  text-align: center;
}
.tutor-error-panel p { font-weight: 700; margin: 0; }

.tutor-mobile-tabs { display: none; }
.tutor-session { margin-top: 6px; }
.tutor-session-grid {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  min-height: 650px;
}
.tutor-script-panel {
  background: #fbf6e9;
  border: 1px solid #e3c77b;
  border-radius: 18px 0 0 18px;
  color: var(--tutor-ink);
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 4vw, 38px);
}
.tutor-panel-kicker { color: #8a6810; font-size: 12px; font-weight: 900; letter-spacing: .16em; margin-bottom: 18px; text-transform: uppercase; }
.tutor-script-intro { color: #34405b; font-size: 16px; line-height: 1.6; margin: 0 0 22px; }
.tutor-script-stage { flex: 1; }
.tutor-script-step { border-top: 1px solid rgba(27, 45, 107, .15); padding: 17px 0; }
.tutor-script-current { animation: tutor-script-advance .34s ease both; }
.tutor-script-number { align-items: center; color: #66708a; display: flex; font-size: 10px; font-weight: 900; gap: 8px; letter-spacing: .12em; margin-bottom: 6px; text-transform: uppercase; }
.tutor-script-round { background: var(--tutor-gold); border-radius: 999px; color: var(--tutor-navy-deep); padding: 4px 8px; }
.tutor-script-say { font-size: 18px; font-weight: 800; line-height: 1.45; margin: 0 0 8px; }
.tutor-watch { color: #66708a; font-size: 13px; line-height: 1.5; margin: 0; }
.tutor-watch b { color: var(--tutor-navy); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.tutor-wrapup { background: #fff; border: 1px solid #e3c77b; border-left: 4px solid var(--tutor-gold); border-radius: 0 9px 9px 0; color: var(--tutor-navy); font-weight: 800; margin-top: 18px; padding: 16px; }
.tutor-script-controls { align-items: center; border-top: 1px solid rgba(27, 45, 107, .15); display: grid; gap: 8px; grid-template-columns: 1fr auto 1fr; margin-top: 22px; padding-top: 14px; }
.tutor-script-peek { background: transparent; border: 0; color: var(--tutor-navy); cursor: pointer; font-size: 11px; font-weight: 900; padding: 7px 0; }
.tutor-script-peek:last-child { text-align: right; }
.tutor-script-peek:first-child { text-align: left; }
.tutor-script-peek:disabled { cursor: default; opacity: .3; }
.tutor-script-peek:focus-visible { outline: 2px solid var(--tutor-green); outline-offset: 2px; }
.tutor-script-position { color: #8a6810; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
@keyframes tutor-script-advance { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.tutor-board-panel {
  background: var(--tutor-cream);
  border: 1px solid #eadfae;
  border-left: 0;
  border-radius: 0 18px 18px 0;
  color: var(--tutor-ink);
  padding: clamp(24px, 4vw, 42px);
  position: relative;
}
.tutor-game-hud { background: linear-gradient(180deg, var(--tutor-cream) 76%, rgba(255, 249, 232, 0)); margin: calc(clamp(24px, 4vw, 42px) * -1) calc(clamp(24px, 4vw, 42px) * -1) 18px; padding: 14px clamp(24px, 4vw, 42px) 16px; position: sticky; top: 70px; z-index: 12; }
.tutor-board-top { align-items: start; display: flex; gap: 18px; justify-content: space-between; }
.tutor-board-kicker { color: #9a7410; font-size: 10px; font-weight: 900; letter-spacing: .16em; margin-bottom: 7px; text-transform: uppercase; }
.tutor-board-title { font-family: "Bebas Neue", Impact, sans-serif; font-size: clamp(42px, 6vw, 66px); line-height: .94; margin: 0; }
.tutor-score-chip { background: var(--tutor-navy); border: 2px solid var(--tutor-gold); border-radius: 999px; box-shadow: 0 5px 0 rgba(12, 23, 54, .16); color: var(--tutor-gold); font-size: 13px; font-weight: 900; letter-spacing: .04em; padding: 11px 14px; transform-origin: center; width: max-content; }
.tutor-score-chip.is-bumping { animation: tutor-score-bump .3s ease; }
.tutor-round-progress { display: grid; gap: 7px; grid-template-columns: repeat(4, 1fr); margin-top: 10px; }
.tutor-progress-segment { background: #d8d5cc; border-radius: 999px; height: 6px; overflow: hidden; position: relative; }
.tutor-progress-segment::after { background: var(--tutor-gold); border-radius: inherit; content: ""; inset: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .38s ease; }
.tutor-progress-segment.is-complete::after { transform: scaleX(1); }
.tutor-board-welcome { color: #59627a; font-size: 16px; line-height: 1.55; margin: 0 0 25px; }
.tutor-phase-list { display: grid; gap: 16px; }
.tutor-round { background: #fff; border: 2px solid #dcd5bd; border-radius: 15px; box-shadow: 0 8px 0 rgba(27, 45, 107, .08); overflow: hidden; transition: border-color .25s ease, box-shadow .25s ease, opacity .25s ease, transform .25s ease; }
.tutor-round.is-unlocked { animation: tutor-unlock .42s ease both; border-color: #dbc05a; box-shadow: 0 8px 0 rgba(212, 160, 23, .18); }
.tutor-round.is-locked { opacity: .45; }
.tutor-round.is-complete { border-color: var(--tutor-green); box-shadow: 0 8px 0 rgba(22, 164, 93, .14); }
.tutor-round.is-celebrating { animation: tutor-round-win .5s ease; }
.tutor-phase-banner { align-items: center; background: var(--tutor-navy); color: #fff; display: flex; gap: 12px; padding: 13px 15px; }
.tutor-round.is-complete .tutor-phase-banner { background: var(--tutor-green); }
.tutor-phase-heading { flex: 1 1 auto; min-width: 0; }
.tutor-phase-heading h4 { color: #fff; font-family: "Bebas Neue", Impact, sans-serif; font-size: 21px; font-weight: 400; letter-spacing: .035em; line-height: 1.05; margin: 0; }
.tutor-round-points { background: var(--tutor-gold); border-radius: 999px; color: var(--tutor-navy-deep); flex: 0 0 auto; font-size: 10px; font-weight: 900; padding: 7px 9px; }
.tutor-round.is-complete .tutor-round-points { background: #fff; color: #0c7441; }
.tutor-round-body { padding: 16px; position: relative; }
.tutor-round-setup { color: #555f76; font-size: 14px; line-height: 1.55; margin: 0 0 12px; }
.tutor-phase-visual { align-items: center; display: flex; flex-direction: column; justify-content: center; margin: 14px auto 16px; max-width: 300px; width: 100%; }
.tutor-visual { display: block; height: auto; max-width: 100%; overflow: visible; width: 100%; }
.tutor-visual-circle-shadow, .tutor-visual-bar-shadow { fill: #fff; filter: var(--tutor-visual-shadow); pointer-events: none; }
.tutor-visual-wedge, .tutor-visual-segment { fill: var(--tutor-visual-surface, var(--tutor-cream)); filter: var(--tutor-visual-shadow); opacity: 1; stroke: var(--tutor-navy); stroke-linejoin: round; stroke-width: 3; }
.tutor-visual-wedge.is-filled, .tutor-visual-segment.is-filled { fill: var(--tutor-visual-gold, var(--tutor-gold)); filter: var(--tutor-visual-glow); }
.tutor-visual-segment-bevel { fill: rgba(255,255,255,.46); pointer-events: none; }
.tutor-visual-theme-detail { pointer-events: none; transform-box: fill-box; transform-origin: center; }
.tutor-visual-piece-theme { opacity: .34; pointer-events: none; transition: opacity .18s ease; }
.tutor-visual-piece.is-filled .tutor-visual-piece-theme, .tutor-visual-piece-theme.is-filled { opacity: 1; }
.tutor-visual-circle-emoji { dominant-baseline: central; filter: grayscale(1); opacity: .5; transition: filter .18s ease, opacity .18s ease, transform .18s ease; }
.tutor-visual-piece.is-filled .tutor-visual-circle-emoji, .tutor-visual-circle-emoji.is-filled { filter: none; opacity: 1; }
.tutor-visual-corner-badge { pointer-events: none; }
.tutor-visual-lab-glass { fill: rgba(255,255,255,.72); stroke: var(--tutor-navy); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.tutor-visual-lab-liquid { fill: var(--tutor-gold); opacity: .14; transition: opacity .18s ease, transform .18s ease; transform-box: fill-box; transform-origin: bottom; }
.tutor-visual-piece.is-filled .tutor-visual-lab-liquid, .tutor-visual-piece-shape.is-filled .tutor-visual-lab-liquid, .tutor-style-swatch .tutor-visual-lab-liquid { opacity: 1; }
.tutor-visual-element-tile { fill: #fff; stroke: var(--tutor-navy); stroke-width: 1.8; transition: fill .18s ease, filter .18s ease; }
.tutor-visual-element-symbol { fill: var(--tutor-navy); font-family: "Bebas Neue", Impact, sans-serif; font-size: 12px; font-weight: 900; pointer-events: none; }
.tutor-visual-piece.is-filled .tutor-visual-element-tile, .tutor-visual-piece-shape.is-filled .tutor-visual-element-tile, .tutor-style-swatch .tutor-visual-element-tile { fill: var(--tutor-gold); filter: var(--tutor-visual-glow); }
.tutor-visual-book-cover { fill: #fff; stroke: var(--tutor-navy); stroke-width: 1.7; transition: fill .18s ease; }
.tutor-visual-book-spine, .tutor-visual-book-page { fill: none; stroke: var(--tutor-navy); stroke-linecap: round; stroke-width: 1.4; }
.tutor-visual-piece.is-filled .tutor-visual-book-cover, .tutor-visual-piece-shape.is-filled .tutor-visual-book-cover, .tutor-style-swatch .tutor-visual-book-cover { fill: var(--tutor-sky); }
.tutor-visual-piece.is-filled .tutor-visual-book-page, .tutor-visual-piece-shape.is-filled .tutor-visual-book-page { stroke: #fff; }
.tutor-visual-column { fill: #fff8d8; stroke: var(--tutor-navy); stroke-linejoin: round; stroke-width: 1.6; transition: fill .18s ease; }
.tutor-visual-column-line { stroke: var(--tutor-navy); stroke-width: 1.1; }
.tutor-visual-piece.is-filled .tutor-visual-column, .tutor-visual-piece-shape.is-filled .tutor-visual-column, .tutor-style-swatch .tutor-visual-column { fill: var(--tutor-gold); }
.tutor-visual-hand-token { pointer-events: none; }
.tutor-visual-bar-theme { opacity: .34; pointer-events: none; transition: opacity .18s ease; }
.tutor-visual-group-theme { opacity: .34; pointer-events: none; transition: opacity .18s ease; }
.tutor-visual-piece.is-filled .tutor-visual-bar-theme, .tutor-visual-piece.is-filled .tutor-visual-group-theme { opacity: 1; }
.tutor-visual-bar-ball-ring { fill: #fff; stroke: var(--tutor-navy); stroke-width: 1.4; }
.tutor-visual-bar-coin-edge { fill: none; stroke: var(--tutor-navy); stroke-dasharray: 2 2; stroke-width: 1.5; }
.tutor-visual-themed-token { fill: #fff; }
.tutor-visual-piece.is-filled .tutor-visual-themed-token { fill: var(--tutor-visual-gold, var(--tutor-gold)); }
.tutor-visual-bar-theme .tutor-visual-paw, .tutor-visual-group-theme .tutor-visual-paw { fill: var(--tutor-sky); }
.tutor-visual-marker-lab, .tutor-visual-marker-elements, .tutor-visual-marker-bookshelf, .tutor-visual-marker-ancient, .tutor-visual-marker-space, .tutor-visual-marker-gaming, .tutor-visual-marker-animals, .tutor-visual-marker-money { stroke-width: 2.5; }
.tutor-visual-space-star { fill: var(--tutor-sky); stroke: var(--tutor-navy); stroke-linejoin: round; stroke-width: 1.25; }
.tutor-visual-space-orbit { fill: var(--tutor-gold); stroke: var(--tutor-navy); stroke-width: 1; }
.tutor-visual-game-pad { fill: var(--tutor-navy); }
.tutor-visual-paw { fill: var(--tutor-sky); stroke: var(--tutor-navy); stroke-width: .8; }
.tutor-visual-coin-ring { fill: var(--tutor-gold); stroke: var(--tutor-navy); stroke-width: 1.3; }
.tutor-visual-money-mark { fill: var(--tutor-navy); font-family: "Bebas Neue", Impact, sans-serif; font-size: 13px; font-weight: 900; }
.tutor-visual-token-glint { fill: rgba(255,255,255,.78); }
.tutor-visual-emoji { dominant-baseline: alphabetic; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; pointer-events: none; }
.tutor-visual-corner-emoji { font-size: 24px; opacity: 1; }
.tutor-visual-group-emoji { filter: grayscale(1); opacity: .5; transition: filter .18s ease, opacity .18s ease, transform .18s ease; }
.tutor-visual-piece.is-filled .tutor-visual-group-emoji, .tutor-visual-group-emoji.is-filled { filter: none; opacity: 1; }
.tutor-visual-bar-emoji { filter: grayscale(1); opacity: .5; transition: filter .18s ease, opacity .18s ease, transform .18s ease; }
.tutor-visual-piece.is-filled .tutor-visual-bar-emoji, .tutor-visual-bar-emoji.is-filled { filter: none; opacity: 1; }
.tutor-visual-marker-emoji { font-size: 32px; pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
.tutor-visual-marker-emoji.is-hidden { opacity: 0; }
.tutor-visual-axis, .tutor-visual-tick, .tutor-visual-axis-shadow { stroke-linecap: round; }
.tutor-visual-axis-shadow { stroke: rgba(27,45,107,.15); stroke-width: 8; }
.tutor-visual-axis { stroke: var(--tutor-navy); stroke-width: 6; }
.tutor-visual-tick { stroke: var(--tutor-navy); stroke-width: 2.5; }
.tutor-visual-marker { fill: var(--tutor-visual-gold, var(--tutor-gold)); filter: var(--tutor-visual-shadow); pointer-events: none; stroke: var(--tutor-navy); stroke-width: 3; transition: opacity .18s ease, transform .18s ease; }
.tutor-visual-marker-glint { fill: #fff9d4; pointer-events: none; transition: opacity .18s ease; }
.tutor-visual-marker.is-hidden, .tutor-visual-marker-glint.is-hidden { opacity: 0; }
.tutor-visual-group-dot, .tutor-visual-group-star { fill: var(--tutor-visual-surface, var(--tutor-cream)); filter: var(--tutor-visual-shadow); opacity: 1; stroke: var(--tutor-navy); stroke-linejoin: round; stroke-width: 2.5; }
.tutor-visual-group-dot.is-filled, .tutor-visual-group-star.is-filled { fill: var(--tutor-visual-gold, var(--tutor-gold)); filter: var(--tutor-visual-glow); }
.tutor-visual-object-grid .tutor-visual-group-dot, .tutor-visual-object-grid .tutor-visual-token-shine { filter: none; opacity: 0; stroke: none; }
.tutor-visual-object-grid .tutor-visual-group-theme { filter: grayscale(1); opacity: .5; }
.tutor-visual-object-grid .tutor-visual-piece.is-filled .tutor-visual-group-theme { filter: none; opacity: 1; }
.tutor-visual-object-grid .tutor-visual-piece:focus:not(.is-filled) .tutor-visual-emoji, .tutor-visual-object-grid .tutor-visual-piece:focus:not(.is-filled) .tutor-visual-group-theme { filter: grayscale(1) drop-shadow(0 0 3px var(--tutor-gold)); }
.tutor-visual-object-grid .tutor-visual-piece:focus.is-filled .tutor-visual-emoji, .tutor-visual-object-grid .tutor-visual-piece:focus.is-filled .tutor-visual-group-theme { filter: drop-shadow(0 0 3px var(--tutor-gold)); }
.tutor-visual-number, .tutor-visual-caption { fill: var(--tutor-navy); font-family: "Bebas Neue", Impact, sans-serif; font-size: 15px; font-weight: 400; letter-spacing: .03em; }
.tutor-visual-caption { font-size: 14px; }
.tutor-print-visual-caption { display: none; }
.tutor-visual-piece, .tutor-visual-tick-control { cursor: pointer; outline: none; touch-action: manipulation; }
.tutor-visual-piece-shape { transform-box: fill-box; transform-origin: center; transition: fill .18s ease, transform .18s ease; }
.tutor-visual-shine { fill: var(--tutor-visual-shine); opacity: 0; pointer-events: none; transform-box: fill-box; transform-origin: center; }
.tutor-visual-hit-target { fill: transparent; pointer-events: all; stroke: transparent; stroke-width: 18; }
.tutor-visual-piece:focus .tutor-visual-piece-shape, .tutor-visual-tick-control:focus .tutor-visual-tick { filter: drop-shadow(0 0 2px #fff); stroke: var(--tutor-gold); stroke-width: 5; }
.tutor-visual-tick-control.is-marked .tutor-visual-number { fill: #8a6810; }
.tutor-visual-piece.is-popping .tutor-visual-piece-shape, .tutor-visual-piece.is-popping .tutor-visual-theme-detail, .tutor-visual-piece.is-popping .tutor-visual-emoji, .tutor-visual-marker.is-popping, .tutor-visual-marker-emoji.is-popping { animation: tutor-visual-pop .34s cubic-bezier(.2,.9,.25,1.28); }
.tutor-visual-piece.is-popping.is-filled .tutor-visual-shine { animation: tutor-visual-shine .34s ease-out; }
.tutor-visual-readout { align-items: center; background: #fff; border: 2px solid #d7ddea; border-radius: 999px; box-shadow: 0 3px 0 rgba(27,45,107,.08); color: var(--tutor-navy); display: inline-flex; font-weight: 900; justify-content: center; line-height: 1; margin-top: 6px; min-height: 48px; min-width: 82px; padding: 7px 14px; }
.tutor-visual-readout-hint { font-size: 11px; letter-spacing: .04em; }
.tutor-visual-readout-value { font-family: "Bebas Neue", Impact, sans-serif; font-size: 20px; font-weight: 400; letter-spacing: .035em; }
.tutor-live-fraction { align-items: stretch; display: inline-flex; flex-direction: column; font-family: "Bebas Neue", Impact, sans-serif; font-size: 20px; font-weight: 400; justify-content: center; letter-spacing: .025em; line-height: .82; min-width: 28px; text-align: center; }
.tutor-live-fraction-bar { border-top: 2px solid currentColor; display: block; margin: 3px 0; width: 100%; }
@keyframes tutor-visual-pop { 0% { transform: scale(.86); } 58% { transform: scale(1.13); } 82% { transform: scale(.97); } 100% { transform: scale(1); } }
@keyframes tutor-visual-shine { 0% { opacity: 0; transform: translateX(-38%) skewX(-12deg); } 35% { opacity: .7; } 100% { opacity: 0; transform: translateX(38%) skewX(-12deg); } }
.tutor-challenge { background: #fff7c7; border: 2px solid #efd76c; border-radius: 10px; color: var(--tutor-navy-deep); font-size: 15px; font-weight: 800; line-height: 1.55; padding: 14px; }
.tutor-challenge-label { color: #8a6810; display: block; font-size: 9px; letter-spacing: .16em; margin-bottom: 4px; text-transform: uppercase; }
.tutor-answer-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.tutor-answer-choice { align-items: center; background: #fff; border: 2px solid var(--tutor-navy); border-radius: 12px; box-shadow: 0 4px 0 rgba(27, 45, 107, .14); color: var(--tutor-navy-deep); cursor: pointer; display: grid; font: inherit; font-size: 14px; font-weight: 800; gap: 10px; grid-template-columns: 34px 1fr auto; line-height: 1.35; min-height: 58px; padding: 10px 13px; position: relative; text-align: left; transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, opacity .16s ease, transform .16s ease; width: 100%; }
.tutor-answer-choice:hover:not(:disabled) { background: #fff9d6; box-shadow: 0 6px 0 rgba(27, 45, 107, .16); transform: translateY(-2px); }
.tutor-answer-choice:active:not(:disabled) { box-shadow: 0 1px 0 rgba(27, 45, 107, .16); transform: translateY(2px); }
.tutor-answer-choice:focus-visible { outline: 3px solid var(--tutor-gold); outline-offset: 3px; }
.tutor-answer-letter { align-items: center; background: var(--tutor-navy); border-radius: 9px; color: #fff; display: flex; font-size: 13px; height: 34px; justify-content: center; width: 34px; }
.tutor-answer-text { min-width: 0; }
.tutor-answer-mark { align-items: center; border-radius: 50%; display: flex; flex: 0 0 auto; font-size: 18px; height: 28px; justify-content: center; width: 28px; }
/* The mark slot is always in the tile, so the tile's third grid column is sized
   from the first paint and taking a choice adds no layout. An unfilled slot is
   hidden rather than removed: removing it would collapse the column again and
   hand back the reflow this reserves space to prevent. */
.tutor-answer-mark:empty { visibility: hidden; }
.tutor-answer-choice.is-wrong { animation: tutor-answer-wrong-flash .4s ease; background: #ffe5e5; border-color: #c73535; color: #8d2020; }
.tutor-answer-choice.is-wrong .tutor-answer-letter, .tutor-answer-choice.is-wrong .tutor-answer-mark { background: #c73535; color: #fff; }
.tutor-answer-choice.is-wrong.is-spent { background: #f4eeee; border-color: #d9bcbc; box-shadow: none; color: #8d7272; opacity: .58; }
.tutor-answer-choice.is-wrong.is-spent .tutor-answer-letter, .tutor-answer-choice.is-wrong.is-spent .tutor-answer-mark { background: #a97d7d; }
.tutor-answer-choice.is-correct { animation: tutor-answer-correct-flash .55s ease; background: #dcf5e8; border-color: var(--tutor-green); box-shadow: 0 4px 0 rgba(13, 138, 80, .18); color: #08683c; }
.tutor-answer-choice.is-correct .tutor-answer-letter, .tutor-answer-choice.is-correct .tutor-answer-mark { background: var(--tutor-green); color: #fff; }
.tutor-answer-choice:disabled { cursor: default; }
.tutor-answer-explain { animation: tutor-explain-reveal .42s ease both; background: #fff9d6; border: 1px solid #e5c95a; border-radius: 12px; color: var(--tutor-navy-deep); display: flex; flex-direction: column; font-size: 13px; gap: 4px; line-height: 1.5; margin-top: 12px; padding: 13px 14px; }
.tutor-answer-explain b { color: #8a6810; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.tutor-coach-note { align-items: baseline; color: #68728a; display: flex; font-size: 12px; gap: 8px; margin: 11px 0 0; }
.tutor-coach-note b { color: var(--tutor-green); flex: 0 0 auto; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.tutor-round-complete { background: var(--tutor-gold); border: 0; border-radius: 999px; box-shadow: 0 7px 16px rgba(27, 45, 107, .18), 0 4px 0 #c59e00; color: var(--tutor-navy-deep); cursor: pointer; font-size: 14px; font-weight: 900; letter-spacing: .06em; margin-top: 14px; min-height: 52px; padding: 14px 22px; position: relative; text-transform: uppercase; transition: box-shadow .18s ease, transform .18s ease; width: 100%; }
.tutor-round-complete:hover { box-shadow: 0 10px 19px rgba(27, 45, 107, .2), 0 4px 0 #c59e00; transform: translateY(-2px); }
.tutor-round-complete:active { box-shadow: 0 2px 0 #c59e00; transform: translateY(2px); }
.tutor-round-complete:focus-visible { outline: 3px solid var(--tutor-green); outline-offset: 3px; }
.tutor-round-complete:disabled { cursor: default; opacity: .7; transform: none; }
.tutor-round.is-complete .tutor-round-complete { background: #dcf5e8; box-shadow: none; color: #0c7441; }
.tutor-points-float { animation: tutor-points-float .7s ease-out forwards; color: var(--tutor-gold); font-size: 19px; font-weight: 900; left: 50%; pointer-events: none; position: absolute; text-shadow: 0 2px 0 var(--tutor-navy); top: 4px; transform: translateX(-50%); }
.tutor-final-reveal { background: var(--tutor-gold); border: 0; border-radius: 15px; color: var(--tutor-navy-deep); display: none; margin-top: 22px; overflow: hidden; padding: 28px 22px; position: relative; text-align: center; width: 100%; }
.tutor-final-reveal.is-visible { animation: tutor-reveal-in .7s cubic-bezier(.2, .85, .25, 1); display: block; }
.tutor-celebration-shine { animation: tutor-shine 1.5s ease-in-out 1; background-color: transparent; background-image: linear-gradient(105deg, transparent 25%, rgba(255,255,255,.7) 47%, transparent 68%); background-position: -120% 0; background-repeat: no-repeat; background-size: 220% 100%; inset: 0; pointer-events: none; position: absolute; transform: none; }
.tutor-reveal-text { font-size: 17px; line-height: 1.55; margin-top: 10px; position: relative; }
.tutor-session-complete { color: var(--tutor-navy); font-family: "Bebas Neue", Impact, sans-serif; font-size: clamp(30px, 5vw, 48px); font-weight: 400; letter-spacing: .035em; line-height: 1; position: relative; }
.tutor-confetti { inset: 0; overflow: hidden; pointer-events: none; position: absolute; }
.tutor-confetti i { animation: tutor-confetti-fall 2s ease-in both; background: var(--tutor-navy); height: 12px; left: 8%; position: absolute; top: -18px; transform: rotate(12deg); width: 7px; }
.tutor-confetti i:nth-child(2) { animation-delay: .08s; background: #fff; left: 16%; }
.tutor-confetti i:nth-child(3) { animation-delay: .22s; left: 24%; width: 11px; }
.tutor-confetti i:nth-child(4) { animation-delay: .04s; background: var(--tutor-green); left: 32%; }
.tutor-confetti i:nth-child(5) { animation-delay: .3s; background: #fff; left: 40%; }
.tutor-confetti i:nth-child(6) { animation-delay: .14s; left: 48%; width: 10px; }
.tutor-confetti i:nth-child(7) { animation-delay: .26s; background: var(--tutor-green); left: 56%; }
.tutor-confetti i:nth-child(8) { animation-delay: .1s; background: #fff; left: 64%; width: 11px; }
.tutor-confetti i:nth-child(9) { animation-delay: .34s; left: 72%; }
.tutor-confetti i:nth-child(10) { animation-delay: .18s; background: var(--tutor-green); left: 80%; }
.tutor-confetti i:nth-child(11) { animation-delay: .02s; background: #fff; left: 88%; }
.tutor-confetti i:nth-child(12) { animation-delay: .28s; left: 94%; width: 10px; }
.tutor-session-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 20px; }
.tutor-print-answer-key { display: none; }

@keyframes tutor-score-bump { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } }
@keyframes tutor-round-win { 0% { transform: scale(1); } 45% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes tutor-unlock { from { opacity: .45; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes tutor-answer-wrong-flash { 0%, 100% { background-color: #ffe5e5; transform: translateX(0); } 18% { background-color: #ffbcbc; transform: translateX(-8px); } 36% { background-color: #ffd0d0; transform: translateX(7px); } 54% { background-color: #ffbcbc; transform: translateX(-5px); } 72% { background-color: #ffd0d0; transform: translateX(4px); } 88% { background-color: #ffbcbc; transform: translateX(-2px); } }
@keyframes tutor-answer-correct-flash { 0% { background: #fff; transform: scale(1); } 45% { background: #a9e8c9; transform: scale(1.025); } 100% { background: #dcf5e8; transform: scale(1); } }
@keyframes tutor-explain-reveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes tutor-points-float { 0% { opacity: 0; transform: translate(-50%, 4px) scale(.8); } 20% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, -48px) scale(1.1); } }
@keyframes tutor-reveal-in { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes tutor-shine { 0%, 35% { background-position: -120% 0; } 70%, 100% { background-position: 220% 0; } }
@keyframes tutor-confetti-fall { 0% { opacity: 0; transform: translateY(-18px) rotate(0); } 12% { opacity: 1; } 100% { opacity: 0; transform: translateY(210px) rotate(540deg); } }

@media (max-width: 760px) {
  #tutor-member-experience { padding: 50px 14px 58px; }
  .tutor-grid-two,
  .tutor-choice-grid,
  .tutor-choice-grid.tutor-choice-grid-two { grid-template-columns: 1fr; }
  .tutor-style-row { margin-right: -14px; padding-right: 14px; scroll-snap-type: x proximity; }
  .tutor-style-tile { flex-basis: 108px; min-height: 100px; }
  .tutor-stage-list { grid-template-columns: 1fr 1fr; }
  .tutor-session-status { justify-content: center; }
  .tutor-session-line { text-align: center; }
  .tutor-mobile-tabs {
    background: var(--tutor-navy-deep);
    border-radius: 10px;
    display: grid;
    gap: 4px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 8px;
    padding: 4px;
    position: sticky;
    top: 70px;
    z-index: 20;
  }
  .tutor-mobile-tab { background: transparent; border: 0; border-radius: 7px; color: #cfd7ef; cursor: pointer; font-size: 12px; font-weight: 900; padding: 10px; }
  .tutor-mobile-tab.is-active { background: var(--tutor-gold); color: var(--tutor-navy-deep); }
  .tutor-session-grid { display: flex; flex-direction: column; }
  .tutor-board-panel { border: 1px solid #eadfae; border-radius: 16px 16px 0 0; order: 1; }
  .tutor-script-panel { border-radius: 0 0 16px 16px; order: 2; }
  .tutor-script-controls { position: sticky; bottom: 0; background: #fbf6e9; }
  .tutor-game-hud { top: 116px; }
  .tutor-board-top { display: block; }
  .tutor-phase-banner { gap: 9px; padding: 12px; }
  .tutor-phase-heading h4 { font-size: 19px; }
  .tutor-round-points { font-size: 9px; padding: 7px 8px; }
  .tutor-phase-visual { max-width: 100%; }
  .tutor-answer-grid { grid-template-columns: 1fr; }
  .tutor-answer-choice { min-height: 60px; }
  .tutor-round-complete { min-height: 54px; }
  .tutor-coach-note { align-items: flex-start; flex-direction: column; gap: 3px; }
  .tutor-session-actions .tutor-button { flex: 1 1 100%; }
  .tutor-profile-lock { align-items: flex-start; min-height: 0; padding: 13px 14px; }
  .tutor-profile-lock-icon { flex-basis: 38px; height: 38px; width: 38px; }
}

/* Homework Help palette repair: preserve all member-flow mechanics and layout while
   constraining every rendered state to the approved navy, cream, white, gold, and sky palette. */
#tutor-member-experience {
  --tutor-navy: #1B2D6B;
  --tutor-navy-deep: #1B2D6B;
  --tutor-gold: #FFD700;
  --tutor-cream: #FFF9E8;
  --tutor-ink: #1B2D6B;
  --tutor-muted: #1B2D6B;
  --tutor-green: #3B9BD4;
  background: #FFFFFF;
  color: #1B2D6B;
}
.tutor-section-heading,.tutor-section-heading h2,.tutor-section-heading p,.tutor-nonmember,.tutor-nonmember a{color:#1B2D6B}
.tutor-eyebrow,.tutor-field label,.tutor-group-label,.tutor-progress-title,.tutor-board-kicker{color:#1B2D6B}
.tutor-card,.tutor-confirm,.tutor-loading,.tutor-error-panel{background:#FFF9E8;background-image:none;border-color:#FFD700;color:#1B2D6B;box-shadow:none}
.tutor-card h3,.tutor-card-lede,.tutor-fineprint,.tutor-step-count,.tutor-upload-note,.tutor-progress-caption,.tutor-stage,.tutor-error-panel p{color:#1B2D6B}
.tutor-field input,.tutor-field select,.tutor-field textarea,.tutor-choice,.tutor-upload{background:#FFFFFF;border-color:#1B2D6B;color:#1B2D6B;box-shadow:none}
.tutor-field input:focus,.tutor-field select:focus,.tutor-field textarea:focus,.tutor-choice:hover,.tutor-choice.is-selected{background:#FFFFFF;border-color:#3B9BD4;color:#1B2D6B;box-shadow:none}
.tutor-inline-error{color:#1B2D6B}.tutor-upload-preview{background:#FFFFFF;border-color:#FFD700;color:#1B2D6B}
.tutor-button,.tutor-round-complete{background:#FFD700;border-color:#FFD700;color:#1B2D6B;box-shadow:none}
.tutor-button:hover,.tutor-round-complete:hover,.tutor-round-complete:active{background:#FFD700;color:#1B2D6B;box-shadow:none}
.tutor-button-outline,.tutor-button-quiet,.tutor-remove{background:#FFFFFF;border-color:#1B2D6B;color:#1B2D6B}
.tutor-dot,.tutor-progress-track,.tutor-progress-segment{background:#E8ECFF}.tutor-dot.is-active,.tutor-progress-bar,.tutor-progress-segment::after{background:#FFD700}
.tutor-stage.is-current,.tutor-stage.is-done{color:#1B2D6B}
.tutor-mobile-tabs{background:#FFFFFF;border-color:#FFD700}.tutor-mobile-tabs button{color:#1B2D6B}.tutor-mobile-tabs button.is-active{background:#1B2D6B;color:#FFFFFF}
.tutor-session{background:#FFFFFF;color:#1B2D6B;box-shadow:none}
.tutor-script-panel{background:#1B2D6B;background-image:none;border-color:#FFD700;color:#FFFFFF}
.tutor-panel-kicker,.tutor-script-round,.tutor-script-say,.tutor-watch b,.tutor-wrapup b,.tutor-script-position{color:#FFD700}
.tutor-script-intro,.tutor-script-step,.tutor-script-current,.tutor-watch,.tutor-wrapup,.tutor-script-peek{color:#E8ECFF}
.tutor-script-stage,.tutor-watch,.tutor-wrapup{background:#1B2D6B;border-color:#FFD700}
.tutor-script-number{background:#FFD700;color:#1B2D6B}.tutor-script-controls{border-color:#FFD700}
.tutor-board-panel{background:#FFF9E8;border-color:#FFD700;color:#1B2D6B}
.tutor-game-hud{background:#FFF9E8;background-image:none}.tutor-board-title,.tutor-board-welcome{color:#1B2D6B}
.tutor-score-chip{background:#1B2D6B;border-color:#FFD700;color:#FFD700;box-shadow:none}
.tutor-round{background:#FFFFFF;border-color:#FFD700;box-shadow:none}.tutor-round.is-unlocked,.tutor-round.is-complete{border-color:#3B9BD4;box-shadow:none}
.tutor-round-header,.tutor-round.is-complete .tutor-round-header{background:#1B2D6B;color:#FFFFFF}
.tutor-round-marker,.tutor-round-points,.tutor-round.is-complete .tutor-round-points{background:#FFD700;color:#1B2D6B}
.tutor-round.is-complete .tutor-round-marker{background:#FFFFFF;color:#1B2D6B}
.tutor-round-label{color:#FFD700}.tutor-round-heading h4{color:#FFFFFF}
.tutor-phase-visual,.tutor-visual{background:#FFF9E8;border-color:#1B2D6B;color:#1B2D6B}
.tutor-visual-wedge,.tutor-visual-segment,.tutor-visual-axis,.tutor-visual-tick,.tutor-visual-marker,.tutor-visual-group-dot,.tutor-visual-group-star{background:#FFF9E8;border-color:#1B2D6B;color:#1B2D6B}
.tutor-visual-wedge.is-filled,.tutor-visual-segment.is-filled{background:#FFD700;border-color:#1B2D6B;color:#1B2D6B}
.tutor-visual-number,.tutor-visual-caption,.tutor-challenge,.tutor-answer-text{color:#1B2D6B}
.tutor-answer-choice{background:#FFFFFF;border-color:#1B2D6B;color:#1B2D6B;box-shadow:none}
.tutor-answer-choice:hover:not(:disabled),.tutor-answer-choice:active:not(:disabled){background:#FFF9E8;border-color:#3B9BD4;box-shadow:none}
.tutor-answer-letter,.tutor-answer-mark{background:#1B2D6B;color:#FFFFFF}
.tutor-answer-choice.is-wrong,.tutor-answer-choice.is-wrong.is-spent{background:#FFF9E8;border-color:#FFD700;color:#1B2D6B;box-shadow:none}
.tutor-answer-choice.is-wrong .tutor-answer-letter,.tutor-answer-choice.is-wrong .tutor-answer-mark,.tutor-answer-choice.is-wrong.is-spent .tutor-answer-letter,.tutor-answer-choice.is-wrong.is-spent .tutor-answer-mark{background:#FFD700;color:#1B2D6B}
.tutor-answer-choice.is-correct{background:#FFFFFF;border-color:#3B9BD4;color:#1B2D6B;box-shadow:none}
.tutor-answer-choice.is-correct .tutor-answer-letter,.tutor-answer-choice.is-correct .tutor-answer-mark{background:#3B9BD4;color:#FFFFFF}
.tutor-answer-explain,.tutor-coach-note{background:#FFF9E8;border-color:#FFD700;color:#1B2D6B}.tutor-answer-explain b,.tutor-coach-note b{color:#1B2D6B}
.tutor-round-setup{color:#1B2D6B}
.tutor-challenge{background:#FFF9E8;border-color:#FFD700;color:#1B2D6B}
.tutor-challenge-label{color:#1B2D6B}
.tutor-round.is-complete .tutor-round-complete{background:#FFFFFF;color:#1B2D6B}.tutor-points-float{color:#FFD700;text-shadow:none}
.tutor-final-reveal{background:#FFD700;color:#1B2D6B}.tutor-session-complete,.tutor-reveal-text{color:#1B2D6B}
.tutor-confetti i,.tutor-confetti i:nth-child(2),.tutor-confetti i:nth-child(3),.tutor-confetti i:nth-child(4),.tutor-confetti i:nth-child(5),.tutor-confetti i:nth-child(6),.tutor-confetti i:nth-child(7),.tutor-confetti i:nth-child(8),.tutor-confetti i:nth-child(9),.tutor-confetti i:nth-child(10),.tutor-confetti i:nth-child(11),.tutor-confetti i:nth-child(12){background:#1B2D6B}

@keyframes tutor-answer-wrong-flash { 0%,100% { background:#FFF9E8;transform:translateX(0) } 50% { background:#FFD700;transform:translateX(-4px) } }
@keyframes tutor-answer-correct-flash { 0%,100% { background:#FFFFFF;transform:scale(1) } 50% { background:#3B9BD4;transform:scale(1.025) } }

@media (prefers-reduced-motion: reduce) {
  .tutor-score-chip.is-bumping,
  .tutor-round.is-celebrating,
  .tutor-final-reveal.is-visible,
  .tutor-celebration-shine,
  .tutor-confetti i,
  .tutor-points-float { animation: none; }
  .tutor-answer-choice.is-wrong,
  .tutor-answer-choice.is-correct,
  .tutor-answer-explain,
  .tutor-script-current { animation: none; }
  .tutor-round,
  .tutor-progress-segment { transition: none; }
  .tutor-style-tile, .tutor-visual-piece-shape, .tutor-visual-piece-theme, .tutor-visual-marker, .tutor-visual-marker-glint, .tutor-visual-lab-liquid, .tutor-visual-element-tile, .tutor-visual-book-cover, .tutor-visual-column, .tutor-visual-bar-theme, .tutor-visual-group-theme, .tutor-visual-emoji { transition: none; }
  .tutor-visual-piece.is-popping .tutor-visual-piece-shape,
  .tutor-visual-piece.is-popping .tutor-visual-theme-detail,
  .tutor-visual-piece.is-popping .tutor-visual-emoji,
  .tutor-visual-piece.is-popping.is-filled .tutor-visual-shine,
  .tutor-visual-marker.is-popping, .tutor-visual-marker-emoji.is-popping { animation: none; }
}

@media print {
  body * { visibility: hidden !important; }
  #tutor-member-experience,
  #tutor-member-experience * { visibility: visible !important; }
  #tutor-member-experience { background: #fff !important; left: 0; padding: 0 !important; position: absolute; top: 0; width: 100%; }
  .tutor-section-heading,
  .tutor-nonmember,
  .tutor-session-status,
  .tutor-session-line,
  .tutor-mobile-tabs,
  .tutor-session-actions,
  .tutor-script-controls,
  .tutor-game-hud,
  .tutor-score-chip,
  .tutor-round-progress,
  .tutor-round-complete,
  .tutor-confetti { display: none !important; }
  .tutor-session-grid { display: block; min-height: 0; }
  .tutor-board-panel,
  .tutor-script-panel { border: 1px solid #777 !important; border-radius: 0 !important; break-inside: avoid; color: #111 !important; padding: 22px !important; }
  .tutor-board-panel { background: #fff !important; }
  .tutor-script-panel { background: #fff !important; margin-top: 18px; }
  .tutor-print-visual-caption { display: block !important; }
  .tutor-panel-kicker,
  .tutor-script-number,
  .tutor-script-say,
  .tutor-script-intro,
  .tutor-watch,
  .tutor-watch b,
  .tutor-wrapup { color: #111 !important; }
  .tutor-round { border-color: #777 !important; box-shadow: none; break-inside: avoid; opacity: 1 !important; }
  .tutor-round-body { display: block !important; }
  .tutor-round-header { background: #fff !important; border-bottom: 1px solid #777; color: #111 !important; }
  .tutor-round-heading h4,
  .tutor-round-label,
  .tutor-round-points,
  .tutor-round-setup,
  .tutor-challenge,
  .tutor-coach-note,
  .tutor-coach-note b { color: #111 !important; }
  .tutor-answer-grid { display: block; margin-top: 10px; }
  .tutor-answer-choice { background: #fff !important; border: 0 !important; box-shadow: none !important; color: #111 !important; display: grid; min-height: 0; opacity: 1 !important; padding: 4px 0; }
  .tutor-answer-letter { background: none !important; color: #111 !important; height: auto; justify-content: flex-start; width: 24px; }
  .tutor-answer-letter::after { content: "."; }
  .tutor-answer-mark { display: none !important; }
  .tutor-answer-explain { animation: none !important; background: #fff9d6 !important; border-color: #aaa; color: #111 !important; }
  .tutor-print-answer-key { border-top: 1px solid #777; color: #111; display: block; font-size: 12px; margin: 18px 0 0; padding-top: 10px; }
  .tutor-round-points { border: 1px solid #777; }
  .tutor-phase-visual, .tutor-visual { break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .tutor-visual-hit-target, .tutor-visual-readout { display: none !important; }
  .tutor-visual-piece, .tutor-visual-tick-control { cursor: default; pointer-events: none; }
  .tutor-visual-circle-shadow, .tutor-visual-bar-shadow { fill: #fff !important; filter: none !important; }
  .tutor-visual-wedge, .tutor-visual-segment, .tutor-visual-group-dot, .tutor-visual-group-star { fill: #f2eee2 !important; filter: none !important; stroke: #222 !important; }
  .tutor-visual-wedge.is-filled, .tutor-visual-segment.is-filled, .tutor-visual-group-dot.is-filled, .tutor-visual-group-star.is-filled { fill: #d7d7d7 !important; filter: none !important; }
  .tutor-visual-segment-bevel, .tutor-visual-shine, .tutor-visual-marker-glint { display: none !important; }
  .tutor-visual-marker { fill: #d7d7d7 !important; filter: none !important; stroke: #222 !important; }
  .tutor-visual-axis-shadow { display: none !important; }
  .tutor-visual-axis, .tutor-visual-tick { stroke: #222 !important; }
  .tutor-visual-game-pad, .tutor-visual-paw { fill: #555 !important; stroke: #222 !important; }
  .tutor-visual-space-star, .tutor-visual-space-orbit, .tutor-visual-coin-ring { fill: #aaa !important; stroke: #222 !important; }
  .tutor-visual-lab-glass, .tutor-visual-element-tile, .tutor-visual-book-cover, .tutor-visual-column { fill: #fff !important; stroke: #222 !important; }
  .tutor-visual-lab-liquid, .tutor-visual-piece.is-filled .tutor-visual-element-tile, .tutor-visual-piece.is-filled .tutor-visual-book-cover, .tutor-visual-piece.is-filled .tutor-visual-column { fill: #d7d7d7 !important; opacity: 1 !important; }
  .tutor-visual-book-spine, .tutor-visual-book-page, .tutor-visual-column-line { stroke: #222 !important; }
  .tutor-visual-bar-coin-edge, .tutor-visual-bar-ball-ring { fill: none !important; filter: none !important; stroke: #777 !important; }
  .tutor-visual-bar-theme, .tutor-visual-group-theme { opacity: 1 !important; }
  .tutor-visual-token-glint { display: none !important; }
  .tutor-final-reveal { display: block !important; border-color: #777; animation: none !important; }
  .tutor-celebration-shine,
  .tutor-confetti { display: none !important; }
  .tutor-wrapup { background: #fff9d6 !important; }
}

/* AFTER-SCHOOL SOURCE MAP
   Nav -> after-school nav
   Hero -> after-school .as-hero
   Members -> after-school .as-session
   Features -> after-school .as-what-changes
   Demo + languages -> after-school .as-why
   Brandon/how-it-works -> after-school .as-session + .game-board-demo-strip
   Script + pricing -> after-school .as-pricing
   Promise -> after-school .visit-invitation
   CTA -> after-school .as-final
   Intake -> after-school .as-session
   Footer -> after-school footer */
:root{
  --navy:#1B2D6B;--navy2:#1B2D6B;--brand:#1B2D6B;--panel:#1B2D6B;--panel2:#1B2D6B;
  --gold:#FFD700;--gold-soft:#FFD700;--gold-bright:#FFD700;--ink:#1B2D6B;--muted:#1B2D6B;
  --line:#FFD700;--cream:#FFF9E8;--cream-b:#FFD700;--good:#3B9BD4;--empty:#1B2D6B;
  --font-head:'Montserrat',sans-serif;--font-body:'Open Sans',sans-serif;
  --font-sc-display:'Bebas Neue','Arial Black',sans-serif;--font-sc-body:'Plus Jakarta Sans','Open Sans',-apple-system,BlinkMacSystemFont,sans-serif;
}
body{background:#fff;color:#1B2D6B;font-family:var(--font-sc-body)}
nav{background:#fff;border-bottom:1px solid rgba(27,45,107,.1);box-shadow:0 2px 12px rgba(0,0,0,.08)}
.navlinks,.navlinks a,.brandmark{color:#1B2D6B}.navlinks a:hover{color:#FFD700}
.navcta,.navtag{background:#FFD700;color:#1B2D6B;border-radius:6px}.navcta:hover{background:#d4a800;transform:translateY(-1px)}

/* Verbatim after-school hero rules. */
.as-hero{background:#1B2D6B;color:#fff;padding:104px 24px 118px;position:relative;overflow:hidden}
.as-container{width:min(1160px,100%);margin:0 auto;position:relative;z-index:1}
.as-hero-content{max-width:1160px;text-align:center}
.as-hero-badge{display:inline-block;background:#1B2D6B;color:#FFD700;border:2px solid #FFD700;border-radius:6px;padding:10px 22px;font-family:var(--font-head);font-size:16px;line-height:1.3;letter-spacing:3px;text-transform:uppercase;font-weight:700;transform:rotate(-1.5deg);box-shadow:0 6px 18px rgba(0,0,0,.35)}
.as-hero-social{font-family:var(--font-head);font-size:13px;color:rgba(255,255,255,.6);margin:16px 0;line-height:1.5}
.as-hero-social a{color:#F5C518;font-weight:700}
.as-hero h1,.as-section-title,.as-stat-number,.as-price,.as-final h2{font-family:var(--font-sc-display);font-weight:400;text-transform:uppercase}
.as-hero h1{font-family:var(--font-head);font-weight:900;font-size:clamp(42px,7vw,72px);line-height:1.05;letter-spacing:0;margin:0 auto 28px;max-width:1160px;text-transform:uppercase;color:#fff}
.as-hero-title-line{display:block}
.as-hero h1 .as-hero-title-slab{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;margin:10px auto 0;background:#FFD700;color:#1B2D6B;padding:2px 16px;border-radius:4px;font-size:1.08em;line-height:1.08;transform:rotate(-1deg);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.as-subhead{max-width:860px;font-size:clamp(17px,2vw,22px);line-height:1.55;color:rgba(255,255,255,.92);margin:0 auto 22px}
.as-info{font-size:14px;line-height:1.7;color:rgba(255,255,255,.78);font-weight:700;margin:0 auto 30px}
.as-info strong{color:#FFD700}
.as-btn{display:inline-flex;justify-content:center;align-items:center;background:#FFD700;color:#1B2D6B;border:2px solid #FFD700;border-radius:100px;padding:16px 28px;text-decoration:none;font-family:var(--font-sc-body);font-weight:900;font-size:14px;letter-spacing:1px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.as-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(255,215,0,.28)}
.as-hero-cta{display:flex;justify-content:center;gap:14px;width:min(100%,734px);margin:0 auto}
.as-hero-cta .as-btn,.as-hero-call-btn{flex:1 1 0;min-height:56px;padding:16px 36px;border-radius:8px;font-family:var(--font-head);font-size:16px;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.as-hero .as-btn{border-radius:8px;transform:rotate(-1deg);box-shadow:6px 6px 0 #9A7B0A}
.as-hero .as-btn:hover{background:#FFD700;transform:rotate(-1deg) translateY(-3px);box-shadow:8px 10px 0 #9A7B0A}
.as-hero-call-btn{background:transparent;color:#fff;border:2px solid #fff;transition:transform .2s ease,background .2s ease}
.as-hero-call-btn:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.as-btn.navy{background:#1B2D6B;color:#fff;border-color:#1B2D6B}
.as-btn.navy:hover{box-shadow:0 14px 30px rgba(27,45,107,.25)}
.as-micro{font-size:12px;color:rgba(255,255,255,.7);font-weight:700;margin:13px 0 0 16px}
.as-hero .as-micro{font-family:var(--font-body);font-size:16px;line-height:1.5;margin:18px auto 0;text-align:center}
.as-hero .as-micro+.as-micro{margin-top:6px}
.as-hero .as-promise-line{color:#FFD700}

.eyebrow,.tutor-eyebrow,.hh-kicker,.al-kicker,.fsp-eyebrow,.hsc-kicker{display:block;color:#FFD700;font-size:11px;font-weight:900;letter-spacing:2.6px;text-transform:uppercase;margin-bottom:12px}
h2,.tutor-section-heading h2,.al-title,.fsp-title,.hsc-head{font-family:var(--font-sc-display);font-weight:400;text-transform:uppercase;font-size:clamp(48px,7vw,78px);line-height:.95;letter-spacing:1.5px;margin:0 0 18px;color:#1B2D6B}
.gold,.al-gold,.hsc-gold{color:#3B9BD4}

#tutor-member-experience{background:#fff;color:#1B2D6B;padding:96px 24px}
#tutor-member-experience .tutor-section-heading p,#tutor-member-experience .tutor-nonmember{color:#1B2D6B}
#tutor-member-experience .tutor-intake,#tutor-member-experience .tutor-loading,#tutor-member-experience .tutor-error,#tutor-member-experience .tutor-session,
#tutor-member-experience .tutor-board-panel,#tutor-member-experience .tutor-round,#tutor-member-experience .tutor-answer-choice{background:#fff;color:#1B2D6B;border-color:#FFD700;box-shadow:0 18px 40px rgba(5,13,38,.2)}
#tutor-member-experience input,#tutor-member-experience select,#tutor-member-experience textarea{background:#fff;color:#1B2D6B;border-color:rgba(27,45,107,.24)}
#tutor-member-experience .tutor-script-panel,#tutor-member-experience .tutor-script-current,#tutor-member-experience .tutor-script-step{background:#1B2D6B;color:#fff;border-color:#FFD700}
#tutor-member-experience .tutor-script-panel *:where(:not(button)),#tutor-member-experience .tutor-script-current *:where(:not(button)),#tutor-member-experience .tutor-script-step *:where(:not(button)){color:inherit}
#tutor-member-experience .tutor-game-hud,#tutor-member-experience .tutor-round-header,#tutor-member-experience .tutor-final-reveal{background:#FFD700;color:#1B2D6B}
#tutor-member-experience button,.btn.p,.hh-cta,.hsc-btn{background:#FFD700;color:#1B2D6B;border-color:#FFD700}

#hh-features{background:#FAF7F0;color:#1B2D6B;padding:48px 24px 56px}
#hh-features .eyebrow{color:#FFD700}#hh-features h2,#hh-features .lede{color:#1B2D6B}
#hh-features .card{background:#fff;color:#1B2D6B;border:0;box-shadow:0 14px 36px rgba(27,45,107,.1)}
#hh-features .card h3,#hh-features .card p{color:#1B2D6B}#hh-features .card .ic,#hh-features .pill{background:#FFD700;color:#1B2D6B}

#demo{background:#3B9BD4;color:#fff;padding:90px 24px;border:0}
#demo .eyebrow,#demo h2,#demo .lede{color:#fff;text-shadow:0 1px 2px rgba(27,45,107,.65)}
#demo .gold{color:#FFD700}#demo .frame,#demo .board,#demo .scriptcard,#demo .mpod{background:#fff;color:#1B2D6B;border-color:#FFD700}
#demo .frame *,#demo .board *,#demo .scriptcard *,#demo .mpod *{color:inherit}#demo .scriptcard .sh,#demo .phase{background:#1B2D6B;color:#fff}

.hh-band{background:#fff;color:#1B2D6B}.hh-band .hh-sec{background:#fff;color:#1B2D6B;padding:96px 24px}
.hh-band .hh-card,.hh-band .hh-step-card,.hh-band .hh-board,.hh-band .hh-script{background:#fff;color:#1B2D6B;border-color:#FFD700;box-shadow:0 10px 30px rgba(27,45,107,.09)}
.hh-band .bar{background:#fff}.hh-band .bar.m{background:#FFD700}.hh-band .bar.s{background:#3B9BD4}.hh-band .chip{background:#FFD700;color:#1B2D6B}

#hh-script-panel{background:#1B2D6B;color:#fff;padding:96px 24px}#hh-script-panel h2,#hh-script-panel p,#hh-script-panel .eyebrow{color:#fff}
#hh-script-panel .scriptcard{background:#1B2D6B;color:#fff;border-color:#FFD700}#hh-script-panel .scriptcard *{color:inherit}

#any-language{background:#3B9BD4;color:#fff;padding:90px 24px}#any-language .al-kicker,#any-language h2,#any-language .lede{color:#fff;text-shadow:0 1px 2px rgba(27,45,107,.65)}
#any-language .al-gold{color:#FFD700}#any-language .al-chip{background:#1B2D6B;color:#fff;border-color:#FFD700}#any-language .al-chip-fill{background:#FFD700;color:#1B2D6B}

#any-language+section.center{background:#FFD700;color:#1B2D6B;padding:48px 24px}#any-language+section.center h2,#any-language+section.center h3,#any-language+section.center p{color:#1B2D6B}
#any-language+section.center .step{background:#1B2D6B;color:#fff;border:0;box-shadow:0 8px 18px rgba(0,0,0,.18)}#any-language+section.center .step h3,#any-language+section.center .step p{color:#fff}
#any-language+section.center .n{background:#FFD700;color:#1B2D6B}#any-language+section.center .creed{background:#1B2D6B;color:#fff;border-color:#FFD700}

#pricing{background:#1B2D6B;color:#fff;padding:96px 24px}#pricing .eyebrow{color:#FFD700}#pricing h2,#pricing .lede,#pricing .pricenote,#pricing .inst-line,#pricing .inst-line a{color:#fff}
#pricing .gold{color:#FFD700}#pricing .tier,#pricing .emergency{background:#fff;color:#1B2D6B;border-color:#FFD700;box-shadow:0 18px 40px rgba(5,13,38,.2)}
#pricing .tier *,#pricing .emergency *{color:inherit}#pricing .tier .tag,#pricing .tier .riskfree{background:#FFD700;color:#1B2D6B}
#pricing .paynote{background:#1B2D6B;color:#fff;border-color:#FFD700}#pricing .oid-bogo{background:#FFD700;color:#1B2D6B;border-color:#1B2D6B}

#first-session-promise{background:#FFF9E8;background-image:none;border-top:8px solid #16A45D;color:#1B2D6B;padding:64px 24px}
#first-session-promise .fsp-card{background:#FFF9E8;color:#1B2D6B;border-color:#1B2D6B;box-shadow:none}#first-session-promise .fsp-card *{color:inherit}

#hh-standout-cta{background:#0A1535;color:#fff;padding:96px 24px;position:relative;overflow:hidden}
#hh-standout-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(59,155,212,.24),transparent 45%);pointer-events:none}
#hh-standout-cta .hsc-card{background:transparent;color:#fff;border-color:#FFD700;box-shadow:none}#hh-standout-cta .hsc-head,#hh-standout-cta .hsc-sub{color:#fff}
#hh-standout-cta .hsc-ribbon,#hh-standout-cta .hsc-topbar,#hh-standout-cta .hsc-btn{background:#FFD700;color:#1B2D6B}

#start{background:#fff;color:#1B2D6B;padding:96px 24px}#start h2,#start .lede{color:#1B2D6B}
#start .form{background:#fff;color:#1B2D6B;border-color:#FFD700;box-shadow:0 18px 40px rgba(5,13,38,.2)}#start .form label{color:#1B2D6B}
#start .form input,#start .form select,#start .form textarea{background:#fff;color:#1B2D6B;border-color:rgba(27,45,107,.24)}#start .upload{background:#fff;color:#1B2D6B;border-color:#FFD700}

footer{background:#0a1535;color:#fff;border:0;margin-top:0}footer h4{color:#FFD700}footer a,footer p,footer .brandmark{color:rgba(255,255,255,.65)}footer a:hover{color:#fff}

#lang-lead-popup .llp-backdrop,#hh-lead-popup .hhlp-backdrop{background:rgba(10,21,53,.82)}
#lang-lead-popup .llp-card,#hh-lead-popup .hhlp-card{background:#fff;color:#1B2D6B;border-color:#FFD700;box-shadow:0 28px 80px rgba(10,21,53,.48)}
#lang-lead-popup .llp-card *,#hh-lead-popup .hhlp-card *{color:inherit}
#lang-lead-popup input,#hh-lead-popup input{background:#fff;color:#1B2D6B;border-color:rgba(27,45,107,.24)}
#lang-lead-popup button,#hh-lead-popup button{background:#FFD700;color:#1B2D6B;border-color:#FFD700}

@media(max-width:700px){.as-hero{padding:74px 20px 100px}.as-hero-badge{font-size:13px;letter-spacing:2px;padding:8px 16px}.as-hero h1{font-size:clamp(28px,8vw,42px)}.as-hero h1 .as-hero-title-slab{padding:3px 12px}h2,.tutor-section-heading h2,.al-title,.fsp-title,.hsc-head{font-size:50px}}
@media(max-width:600px){.as-hero-cta{flex-direction:column;width:100%;gap:12px}.as-hero-cta .as-btn,.as-hero-call-btn{flex:none;width:100%;min-height:56px;padding:16px 20px}}
@media(max-width:390px){.as-hero h1{font-size:28px}.as-hero h1 .as-hero-title-slab{font-size:23px;white-space:nowrap}h2,.tutor-section-heading h2,.al-title,.fsp-title,.hsc-head{font-size:44px}}

/* Keep the cited band treatments authoritative over legacy inline blocks. */
#tutor-member-experience{background:#fff!important;background-image:none!important;color:#1B2D6B!important}
#hh-features{background:#FAF7F0!important;background-image:none!important;color:#1B2D6B!important}
#demo{background:#3B9BD4!important;background-image:none!important;color:#fff!important;border:0!important}
.hh-band,.hh-band .hh-sec{background:#fff!important;background-image:none!important;color:#1B2D6B!important}
#hh-script-panel{background:#1B2D6B!important;background-image:none!important;color:#fff!important}
#any-language{background:#3B9BD4!important;background-image:none!important;color:#fff!important}
#how-it-works{background:#FFD700!important;background-image:none!important;color:#1B2D6B!important}
#pricing{background:#1B2D6B!important;background-image:none!important;color:#fff!important}
#first-session-promise{background:#FFF9E8!important;background-image:none!important;color:#1B2D6B!important;border-top:8px solid #16A45D!important}
#hh-standout-cta{background:#0A1535!important;color:#fff!important}
#start{background:#fff!important;background-image:none!important;color:#1B2D6B!important}
footer{background:#0A1535!important;background-image:none!important;color:#fff!important}
#demo .eyebrow,#demo h2,#demo .lede,#any-language .al-kicker,#any-language h2,#any-language .lede{color:#fff!important}
#demo .gold,#any-language .al-gold{color:#FFD700!important}
#how-it-works h2,#how-it-works h3,#how-it-works p{color:#1B2D6B!important}
#how-it-works .step{background:#1B2D6B!important;color:#fff!important;border:0!important}
#how-it-works .step h3,#how-it-works .step p{color:#fff!important}
#how-it-works .n{background:#FFD700!important;color:#1B2D6B!important}
#how-it-works .creed{background:#1B2D6B!important;color:#fff!important;border-color:#FFD700!important}

/* Source-palette cleanup for legacy descendants and interactive overlays. */
.eyebrow,.tutor-eyebrow,.hh-kicker,.al-kicker,.fsp-eyebrow,.hsc-kicker{
  display:inline-block!important;background:#1B2D6B!important;color:#FFD700!important;border:2px solid #FFD700!important;border-radius:6px!important;padding:10px 22px!important;font-family:var(--font-head)!important;font-size:11px!important;line-height:1.3!important;letter-spacing:2.6px!important;text-transform:uppercase!important;font-weight:700!important;transform:rotate(-1.5deg)!important;box-shadow:0 6px 18px rgba(0,0,0,.35)!important
}
#hh-features *,.hh-band *,#first-session-promise *,#start *{color:#1B2D6B!important}
#tutor-member-experience .eyebrow,#tutor-member-experience .tutor-eyebrow,#hh-features .eyebrow,.hh-band .hh-kicker,#first-session-promise .fsp-eyebrow,#start .eyebrow{color:#FFD700!important}
#demo *,#any-language *,#pricing *,#hh-standout-cta *,footer *{color:#fff!important}
#demo .eyebrow,#any-language .al-kicker,#pricing .eyebrow,#hh-standout-cta .hsc-kicker{color:#FFD700!important}
#demo .frame *,#demo .board *,#demo .scriptcard *,#demo .mpod *,#pricing .tier *,#pricing .emergency *{color:#1B2D6B!important}
#demo .scriptcard .sh *,#demo .phase *,#pricing .tier .btn.s{color:#fff!important}
#demo .gold,#any-language .al-gold,#pricing .gold,#pricing .tier .name,#pricing .tier .tag,#hh-standout-cta .hsc-gold,footer h4{color:#FFD700!important}
#demo .barrow{background:#1B2D6B!important;border-color:#FFD700!important}#demo .barrow i{background:#FFD700!important}
#demo #rs,#demo .mb,#demo .btn.p{background:#FFD700!important;color:#1B2D6B!important;border-color:#FFD700!important}
#demo .btn.s{background:#1B2D6B!important;color:#fff!important;border-color:#fff!important}
#demo .eb,#demo .res,#demo .res *{color:#3B9BD4!important}
.hh-band .hh-tag,.hh-band .chip{background:#FFD700!important;color:#1B2D6B!important}
.hh-band .bar{background:#fff!important}.hh-band .bar.m{background:#FFD700!important}.hh-band .bar.s{background:#3B9BD4!important}
.hh-band .em,.hh-band b{color:#1B2D6B!important}
#any-language .al-chip{background:#1B2D6B!important;color:#fff!important;border-color:#FFD700!important}#any-language .al-chip *{color:inherit!important}#any-language .al-chip-fill{background:#FFD700!important;color:#1B2D6B!important}
#pricing .tier,#pricing .emergency{background:#fff!important;color:#1B2D6B!important}#pricing .tier .tag,#pricing .tier .riskfree{background:#FFD700!important;color:#1B2D6B!important}
#pricing .btn.s{background:#1B2D6B!important;color:#fff!important;border-color:#fff!important}#pricing .paynote{background:#fff!important;color:#1B2D6B!important;border-color:#FFD700!important}#pricing .paynote span{color:#1B2D6B!important}#pricing .paynote .ck{color:#16A45D!important}
#hh-standout-cta .hsc-ribbon,#hh-standout-cta .hsc-btn{background:#FFD700!important;color:#1B2D6B!important}
#start .btn.p{background:#FFD700!important;color:#1B2D6B!important;border-color:#FFD700!important}
footer .tagfoot,footer .copyright,footer .copyright *{color:rgba(255,255,255,.65)!important}
#lang-lead-popup .llp-backdrop,#hh-lead-popup .hhlp-backdrop{background:rgba(10,21,53,.82)!important}
#lang-lead-popup .llp-card,#hh-lead-popup .hhlp-card{background:#fff!important;background-image:none!important;color:#1B2D6B!important;border-color:#FFD700!important;box-shadow:0 28px 80px rgba(10,21,53,.48)!important}
#lang-lead-popup .llp-card *,#hh-lead-popup .hhlp-card *{color:#1B2D6B!important}
#lang-lead-popup .llp-btn,#hh-lead-popup .hhlp-btn{background:#FFD700!important;color:#1B2D6B!important;border-color:#FFD700!important}
#lang-lead-popup .llp-input,#hh-lead-popup .hhlp-input{background:#fff!important;color:#1B2D6B!important;border-color:rgba(27,45,107,.24)!important}
#tutor-member-experience .tutor-script-panel,#tutor-member-experience .tutor-script-current,#tutor-member-experience .tutor-script-step{background:#1B2D6B!important;color:#fff!important;border-color:#FFD700!important}
#tutor-member-experience .tutor-script-panel *:where(:not(button)),#tutor-member-experience .tutor-script-current *:where(:not(button)),#tutor-member-experience .tutor-script-step *:where(:not(button)){color:#fff!important}
#tutor-member-experience .tutor-game-hud,#tutor-member-experience .tutor-round-header,#tutor-member-experience .tutor-final-reveal{background:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-game-hud *:where(:not(button)),#tutor-member-experience .tutor-round-header *:where(:not(button)),#tutor-member-experience .tutor-final-reveal *:where(:not(button)){color:#1B2D6B!important}

/* After-school shell repairs for the homework-help transplant. */
nav{position:sticky;top:0;left:0;width:100%;background:#fff;border-bottom:1px solid rgba(27,45,107,.1);box-shadow:0 2px 12px rgba(0,0,0,.08);z-index:1000}
.nav-inner{align-items:center;display:flex;height:100px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}
.logo{align-items:center;display:flex;text-decoration:none}
.logo-img{height:90px;width:auto}
.nav-links{align-items:center;display:flex;gap:20px;list-style:none;margin:0;padding:0}
.nav-links a{color:#1B2D6B;font-family:"Montserrat",sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a:focus-visible{color:#d4a800}
.nav-dropdown{position:relative}
.nav-dropdown-toggle{align-items:center;display:flex;gap:4px}
.nav-dropdown-menu{background:#fff;border:1px solid rgba(27,45,107,.12);border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.08);display:none;left:50%;min-width:160px;padding:6px 0;position:absolute;top:100%;transform:translateX(-50%);z-index:1001}
.nav-dropdown-menu a{display:block;font-size:13px;font-weight:500;padding:8px 16px;white-space:nowrap}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{background:#fafbfe}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
.nav-links .after-school-item{position:relative}
.nav-links .after-school-item>svg{bottom:calc(100% - 8px);left:-10px;overflow:visible;pointer-events:none;position:absolute;width:64px;z-index:1}
.nav-links>li>.after-school-nav{background:none;border:0;border-radius:0;color:#1B2D6B;display:inline;padding:0;white-space:nowrap}
.nav-cta{background:#F5C518;border-radius:6px;color:#1B2D6B;display:inline-block;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:700;margin-left:12px;padding:10px 20px;text-decoration:none;transition:background .2s,transform .15s;white-space:nowrap}
.nav-cta:hover,.nav-cta:focus-visible{background:#d4a800;transform:translateY(-1px)}
.hamburger{background:transparent;border:0;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:8px}
.hamburger span{background:#1B2D6B;border-radius:2px;display:block;height:2px;transition:transform .3s;width:24px}
.mobile-menu{background:#fff;border-bottom:2px solid #F5C518;display:none;flex-direction:column;gap:12px;left:0;padding:20px 24px;position:fixed;top:100px;width:100%;z-index:999}
.mobile-menu.open{display:flex}
.mobile-menu a,.mobile-menu-toggle{background:none;border:0;border-bottom:1px solid #f0f0ea;color:#1B2D6B;cursor:pointer;font-family:"Montserrat",sans-serif;font-size:16px;font-weight:600;padding:8px 0;text-align:left;text-decoration:none;width:100%}
.mobile-menu-toggle{align-items:center;display:flex;justify-content:space-between}
.mobile-about-sub,.mobile-program-sub{padding-left:16px}
.mobile-about-sub a,.mobile-program-sub a{display:block;font-size:14px}
.mobile-menu .mobile-cta{background:#F5C518;border:0;border-radius:6px;color:#1B2D6B;margin-top:8px;padding:14px 20px;text-align:center}
.mobile-after-school-dot{background:#16A45D;border-radius:50%;display:inline-block;height:8px;margin-left:6px;width:8px}

.hh-hero-detail-band{background:#fff;color:#1B2D6B;padding:30px 24px}
.hh-hero-detail-band .as-info{color:#405071;font-size:16px;line-height:1.7;margin:0 auto;max-width:920px;text-align:center}
.hh-hero-detail-band .as-info strong{color:#1B2D6B}
.hh-endorsements{background:#F4F1EA;color:#1B2D6B;padding:64px 24px 72px}
.hh-endorsements-head{margin-bottom:30px;text-align:center}
.hh-endorsements .as-hero-badge{background:#1B2D6B;color:#FFD700;margin:0}
.as-parent-testimonials-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;max-width:1040px}
.as-parent-testimonial{background:#fff;border:1px solid rgba(27,45,107,.12);border-left:5px solid #FFD700;border-radius:16px;box-shadow:0 10px 30px rgba(27,45,107,.09);display:flex;min-height:150px;padding:28px 30px}
.as-parent-author{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;margin:0}
.as-parent-author strong{color:#1B2D6B;font-family:"Montserrat",sans-serif;font-size:18px;line-height:1.35}
.as-parent-author span{color:#566078;font-size:14px;font-weight:700;margin-top:6px}

@media(min-width:769px) and (max-width:1200px){.nav-links{gap:14px}.nav-inner{padding:0 18px}.nav-cta{margin-left:6px;padding:10px 14px}}
@media(max-width:980px){.nav-links,.nav-cta{display:none}.hamburger{display:flex}}
@media(max-width:700px){
  .nav-inner{height:86px;padding:0 18px}.logo-img{height:76px}.mobile-menu{top:86px;max-height:calc(100vh - 86px);overflow-y:auto}
  .as-hero{padding:66px 20px 74px}.hh-hero-detail-band{padding:26px 20px}.hh-endorsements{padding:50px 20px 58px}
  .as-parent-testimonials-grid{grid-template-columns:1fr}.as-parent-testimonial{min-height:0;padding:24px}
}

/* City endorsements clone after-school's navy testimonial-card treatment. */
.hh-endorsements .as-parent-testimonials-grid{align-items:stretch;gap:24px;margin-top:38px;max-width:1160px}
.hh-endorsements .as-parent-testimonial{background:#1B2D6B;border:0;border-radius:20px;border-top:4px solid #FFD700;box-shadow:0 15px 50px rgba(27,45,107,.24);color:#fff;display:flex;flex-direction:column;height:100%;min-height:0;padding:32px 24px}
.hh-endorsements .as-parent-quote{color:#fff;font-size:16px;font-style:italic;line-height:1.5;margin:0 0 24px;flex:1 1 auto}
.hh-endorsements .as-parent-author{border-top:1px solid rgba(115,148,214,.5);display:block;margin:0;padding-top:16px}
.hh-endorsements .as-parent-author strong{color:#FFD700;display:block;font-size:14px;line-height:1.35}
.hh-endorsements .as-parent-author span{color:#DCE8FF;display:block;font-size:12px;font-weight:600;margin-top:4px}

/* Setup option cards: white at rest, sky on interaction, navy when selected. */
#tutor-member-experience .tutor-choice{background:#FFFFFF!important;border:2px solid #1B2D6B!important;box-shadow:none!important;color:#1B2D6B!important;min-height:64px;position:relative}
#tutor-member-experience .tutor-choice:hover,#tutor-member-experience .tutor-choice:focus-visible{background:#FFFFFF!important;border-color:#3B9BD4!important;color:#1B2D6B!important;outline:3px solid rgba(59,155,212,.42);outline-offset:3px}
#tutor-member-experience .tutor-choice.is-selected{background:#1B2D6B!important;border:2px solid #FFD700!important;color:#FFFFFF!important;padding-left:34px}
#tutor-member-experience .tutor-choice.is-selected::before{color:#FFD700;content:'✓';font-size:18px;font-weight:900;left:12px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}
#tutor-member-experience .tutor-choice:disabled{cursor:not-allowed;opacity:.45}

/* Features clone after-school's white-band/navy-card grid with full contrast. */
#hh-features{background:#FFFFFF!important;color:#1B2D6B!important;padding:92px 24px!important}
#hh-features>.wrap>.eyebrow{color:#FFD700!important}
#hh-features>.wrap>h2{color:#1B2D6B!important}
#hh-features>.wrap>h2 .gold{color:#3B9BD4!important}
#hh-features>.wrap>.lede{color:#1B2D6B!important;font-size:17px;line-height:1.7}
#hh-features .grid{align-items:stretch;gap:24px;margin-top:38px}
#hh-features .card{background:#1B2D6B!important;background-image:none!important;border:0!important;border-radius:20px!important;border-top:4px solid #FFD700!important;box-shadow:0 15px 50px rgba(27,45,107,.24)!important;color:#FFFFFF!important;display:flex;flex-direction:column;min-height:100%;padding:32px 24px!important;transition:transform .2s ease,box-shadow .2s ease}
#hh-features .card:hover{box-shadow:0 20px 58px rgba(27,45,107,.32)!important;transform:translateY(-4px)}
#hh-features .card .ic{background:transparent!important;color:#FFD700!important}
#hh-features .card .ic svg{color:#FFD700!important;height:30px;width:30px}
#hh-features .card h3{color:#FFD700!important;font-size:18px;line-height:1.3}
#hh-features .card p{color:#FFFFFF!important;font-size:15px;line-height:1.6}
#hh-features .card .pill{align-self:flex-start;background:#3B9BD4!important;border:1px solid #FFD700;color:#FFFFFF!important;font-size:11px;font-weight:900;letter-spacing:.08em;margin-top:auto;padding:6px 11px;text-transform:uppercase}

/* Supporting copy now meets after-school's 17px band-copy baseline. */
.hh-band .hh-sub{font-size:17px!important}
#first-session-promise .fsp-ask{font-size:17px!important}
#hh-standout-cta .hsc-sub{font-size:17px!important}

@media(max-width:760px){
  #tutor-member-experience .tutor-choice{min-height:64px;padding:14px 16px}
  #tutor-member-experience .tutor-choice.is-selected{padding-left:38px}
  #hh-features{padding:72px 20px!important}
  #hh-features .card{padding:28px 22px!important}
}

/* Final page-band palette: two white bands, two cream bands, all others navy or sky. */
.hh-hero-detail-band{background:#FFFFFF!important;color:#1B2D6B!important}
.hh-hero-detail-band .as-info,.hh-hero-detail-band .as-info strong{color:#1B2D6B!important}

.hh-endorsements{background:#FFF9E8!important;color:#1B2D6B!important}
.hh-endorsements .as-parent-testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hh-endorsements .as-parent-testimonial{align-items:stretch;text-align:left}
.hh-endorsements .as-quote-top{margin:0 0 22px}
.hh-endorsements .as-quote-top img{background:#FFFFFF;border:3px solid #FFD700;border-radius:50%;box-shadow:0 8px 20px rgba(5,13,38,.28);display:block;height:68px;object-fit:cover;width:68px}

#tutor-member-experience{--tutor-ink:#1B2D6B;--tutor-muted:#1B2D6B;--tutor-line:#FFD700;background:#1B2D6B!important;color:#E8ECFF!important}
#tutor-member-experience .tutor-section-heading h2,#tutor-member-experience .tutor-board-title{color:#FFD700!important}
#tutor-member-experience .tutor-section-heading p,#tutor-member-experience .tutor-nonmember,#tutor-member-experience .tutor-nonmember a{color:#E8ECFF!important}
#tutor-member-experience .tutor-intake,#tutor-member-experience .tutor-loading,#tutor-member-experience .tutor-error-panel,#tutor-member-experience .tutor-confirm{background:#FFF9E8!important;border-color:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-session{background:transparent!important;border:0!important;box-shadow:none!important;color:#E8ECFF!important}
#tutor-member-experience .tutor-script-panel{background:#FFF9E8!important;border-color:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-script-panel *:where(:not(button)),#tutor-member-experience .tutor-script-current *:where(:not(button)),#tutor-member-experience .tutor-script-step *:where(:not(button)){color:#1B2D6B!important}
#tutor-member-experience .tutor-board-panel{background:#FFFFFF!important;border-color:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-game-hud{background:#FFFFFF!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-round{background:#1B2D6B!important;border-color:#FFD700!important;color:#FFFFFF!important}
#tutor-member-experience .tutor-round-body,#tutor-member-experience .tutor-round-setup{color:#E8ECFF!important}
#tutor-member-experience .tutor-challenge,#tutor-member-experience .tutor-challenge *:where(:not(button)),#tutor-member-experience .tutor-coach-note,#tutor-member-experience .tutor-coach-note *:where(:not(button)){color:#1B2D6B!important}
#tutor-member-experience .tutor-round-header,#tutor-member-experience .tutor-final-reveal{background:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-round-header *:where(:not(button)),#tutor-member-experience .tutor-final-reveal *:where(:not(button)){color:#1B2D6B!important}
#tutor-member-experience .tutor-score-chip,#tutor-member-experience .tutor-score-chip *:where(:not(button)){color:#FFD700!important}
#tutor-member-experience .tutor-answer-choice{background:#FFFFFF!important;border-color:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-answer-choice *:where(:not(.tutor-answer-letter):not(.tutor-answer-mark):not(button)),#tutor-member-experience .tutor-answer-explain *:where(:not(button)){color:#1B2D6B!important}
#tutor-member-experience .tutor-answer-explain,#tutor-member-experience .tutor-wrapup{background:#FFF9E8!important;border-color:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-progress-caption,#tutor-member-experience .tutor-stage{color:#1B2D6B!important}
#tutor-member-experience input,#tutor-member-experience select,#tutor-member-experience textarea{background:#FFFFFF!important;border-color:#1B2D6B!important;color:#1B2D6B!important}

#hh-features{background:#FFFFFF!important;color:#1B2D6B!important}

#demo{background:#3B9BD4!important;color:#FFFFFF!important}

.hh-band,.hh-band .hh-sec{background:#1B2D6B!important;color:#E8ECFF!important}
.hh-band .hh-kicker,.hh-band h2{color:#FFD700!important}
.hh-band .hh-sub{color:#E8ECFF!important}
.hh-band .hh-board{background:#FFF9E8!important;border-color:#FFD700!important;color:#1B2D6B!important}
.hh-band .hh-board *{color:#1B2D6B!important}
.hh-band .hh-script{background:#FFFFFF!important;border-color:#FFD700!important;color:#1B2D6B!important}
.hh-band .hh-script *{color:#1B2D6B!important}
.hh-band .hh-tag{background:#FFD700!important;border-color:#FFD700!important;color:#1B2D6B!important}

#hh-script-panel{background:#3B9BD4!important;color:#FFFFFF!important}
#hh-script-panel h2{color:#FFD700!important}
#hh-script-panel p{color:#FFFFFF!important}

#any-language{background:#1B2D6B!important;color:#E8ECFF!important}
#any-language h2{color:#FFD700!important;text-shadow:none!important}
#any-language .al-kicker{color:#FFD700!important}
#any-language .lede{color:#E8ECFF!important;text-shadow:none!important}
#any-language .al-chip{background:#FFFFFF!important;border-color:#FFD700!important;color:#1B2D6B!important}
#any-language .al-chip *{color:#1B2D6B!important}

#how-it-works{background:#3B9BD4!important;color:#FFFFFF!important}
#how-it-works h2{color:#FFFFFF!important}
#how-it-works .step{background:#1B2D6B!important;border:2px solid #FFD700!important;color:#FFFFFF!important}
#how-it-works .step h3{color:#FFD700!important}
#how-it-works .step p{color:#E8ECFF!important}
#how-it-works .creed{background:#1B2D6B!important;border-color:#FFD700!important;color:#FFFFFF!important}
#how-it-works .creed p,#how-it-works .creed b{color:#E8ECFF!important}

#pricing{background:#1B2D6B!important;color:#E8ECFF!important}
#pricing>.wrap>h2{color:#FFD700!important}
#pricing>.wrap>.lede,#pricing>.wrap>.pricenote,#pricing>.wrap>.pricenote a,#pricing>.wrap>.inst-line,#pricing>.wrap>.inst-line a{color:#E8ECFF!important}

#first-session-promise{background:#FFF9E8!important;color:#1B2D6B!important}
#first-session-promise .fsp-card{background:#FFF9E8!important;border-color:#FFD700!important;color:#1B2D6B!important}

#hh-standout-cta{background:#3B9BD4!important;color:#FFFFFF!important}
#hh-standout-cta .hsc-head{color:#FFFFFF!important}
#hh-standout-cta .hsc-sub{color:#FFFFFF!important}
#hh-standout-cta .hsc-card{background:#1B2D6B!important;border-color:#FFD700!important;color:#FFFFFF!important}

#start{background:#1B2D6B!important;color:#E8ECFF!important}
#start>.wrap>h2{color:#FFD700!important}
#start>.wrap>.lede{color:#E8ECFF!important}
#start .form{background:#FFF9E8!important;border-color:#FFD700!important;color:#1B2D6B!important}
#start .form label,#start .form .upload,#start .form .upload b{color:#1B2D6B!important}
#start .form input,#start .form select,#start .form textarea{background:#FFFFFF!important;border-color:#1B2D6B!important;color:#1B2D6B!important}

footer{background:#1B2D6B!important;color:#E8ECFF!important}
footer a,footer p,footer .brandmark,footer .tagfoot,footer .copyright,footer .copyright *{color:#E8ECFF!important}

@media(max-width:700px){
  .hh-endorsements .as-parent-testimonials-grid{grid-template-columns:1fr}
  .hh-endorsements .as-quote-top img{height:64px;width:64px}
}

/* One desktop nav; the after-school mobile drawer exists only when explicitly opened. */
.mobile-menu,.mobile-menu.open{display:none!important}
@media(max-width:980px){.mobile-menu.open{display:flex!important}}

/* Six visible gold currentColor icons, optically aligned with their card headings. */
#hh-features .card .ic{align-items:center!important;background:transparent!important;color:#FFD700!important;display:flex!important;height:56px!important;justify-content:flex-start!important;margin-bottom:18px!important;width:56px!important}
#hh-features .card .ic svg{color:inherit!important;display:block!important;height:44px!important;overflow:visible!important;stroke:currentColor!important;width:44px!important}
#hh-features .card .ic svg *{color:inherit!important;stroke:currentColor!important}

/* The legacy 32px Helvetica title clipped the intended display treatment. */
.hh-band .hh-sec{overflow:visible!important}
.hh-band .hh-kicker{display:table!important;margin:0 auto 20px!important;text-align:center!important}
.hh-band .hh-h2{color:#FFD700!important;font-family:'Bebas Neue','Arial Black',sans-serif!important;font-size:clamp(48px,7vw,78px)!important;font-weight:400!important;letter-spacing:1.5px!important;line-height:1!important;margin:0 auto 20px!important;max-width:1000px!important;overflow:visible!important;padding:6px 4px 2px!important;text-align:center!important;text-transform:uppercase!important;transform:none!important}
.hh-band .hh-h2 .em{color:#3B9BD4!important}
.hh-band .hh-sub{margin-bottom:38px!important;max-width:760px!important}
@media(max-width:700px){.hh-band .hh-h2{font-size:48px!important;line-height:1!important;margin-bottom:18px!important}.hh-band .hh-kicker{margin-bottom:16px!important}}

.hh-band{padding:0!important}
.hh-band .hh-sec{padding:88px 24px 72px!important}
.hh-band .hh-cap{display:flex!important;flex:1!important;flex-direction:column!important;padding-bottom:20px!important}
.hh-band .hh-cap .d{flex:1!important;margin-bottom:0!important}
.hh-band .hh-cta{align-self:center!important;background:#FFD700!important;border:2px solid #FFD700!important;border-radius:10px!important;color:#1B2D6B!important;display:inline-flex!important;font-family:'Montserrat',sans-serif!important;font-size:13px!important;font-weight:800!important;justify-content:center!important;margin:18px auto 0!important;max-width:100%!important;padding:11px 18px!important;text-align:center!important;text-decoration:none!important;transition:background .2s,transform .15s!important;width:230px!important}
.hh-band .hh-cta:hover,.hh-band .hh-cta:focus-visible{background:#F5C518!important;color:#1B2D6B!important;transform:translateY(-1px)!important}
@media(max-width:700px){.hh-band .hh-sec{padding:64px 20px 56px!important}}

body [id]{scroll-margin-top:124px}
@media(max-width:700px){body [id]{scroll-margin-top:110px}}

#any-language{background:#FFF9E8!important;border-color:rgba(27,45,107,.18)!important;color:#1B2D6B!important}
#any-language .al-eyebrow{background:#FFD700!important;border:2px solid #1B2D6B!important;border-radius:6px!important;color:#1B2D6B!important;display:inline-block!important;font-family:'Montserrat',sans-serif!important;padding:9px 18px!important}
#any-language .al-title,#any-language .al-title .al-gold,#any-language .al-lede{color:#1B2D6B!important;text-shadow:none!important}
#any-language .al-chip,#any-language .al-chip.al-chip-fill{background:#FFFFFF!important;border:2px solid #1B2D6B!important;color:#1B2D6B!important}
#any-language .al-chip[data-lang]:hover,#any-language .al-chip.al-chip-fill[data-lang]:hover{background:#1B2D6B!important;border-color:#1B2D6B!important;color:#FFFFFF!important}
#any-language .al-chip[data-lang]:focus-visible{box-shadow:0 0 0 3px rgba(255,215,0,.75)!important}
#first-session-promise{background:#3B9BD4!important}
#hh-features .card p{flex:1!important}
#hh-features .card .pill{align-self:center!important;margin:22px auto 0!important;text-align:center!important}

#pricing .tier>a.btn,#pricing .tier>a.btn.s,#pricing .tier>a.btn.p{background:#FFD700!important;border:2px solid #FFD700!important;color:#1B2D6B!important;font-weight:800!important}
#pricing .tier>a.btn:hover,#pricing .tier>a.btn:focus-visible{background:#F5C518!important;border-color:#F5C518!important;color:#1B2D6B!important;transform:translateY(-1px)}

/* Member session clone: the Brandon demo's board-left / cream-script-right composition. */
#tutor-member-experience .tutor-session-grid{
  align-items:start!important;
  display:grid!important;
  gap:22px!important;
  grid-template-columns:1.25fr .9fr!important;
  min-height:0!important;
}
#tutor-member-experience .tutor-mobile-tabs{display:none!important}
#tutor-member-experience .tutor-board-panel{
  background:#0C1736!important;
  border:1px solid rgba(255,215,0,.34)!important;
  border-radius:16px!important;
  box-shadow:0 24px 60px rgba(0,0,0,.28)!important;
  color:#FFFFFF!important;
  height:820px;
  min-width:0;
  order:1;
  overflow:hidden;
  padding:0!important;
  width:100%;
}
#tutor-member-experience .tutor-board-stage{display:flex;flex-direction:column;height:100%;isolation:isolate;min-width:0;overflow:hidden;padding:12px;position:relative;width:100%}
#tutor-member-experience .tutor-board-watermark{color:#FFFFFF;display:grid;gap:42px 64px;grid-template-columns:repeat(6,minmax(120px,1fr));inset:-34%;opacity:.055;pointer-events:none;position:absolute;transform:rotate(-24deg);user-select:none;z-index:0}
#tutor-member-experience .tutor-board-watermark span{align-self:center;font-size:13px;font-weight:900;letter-spacing:.18em;text-align:center;white-space:nowrap}
#tutor-member-experience .tutor-game-hud{
  align-items:stretch;
  background:#1B2D6B!important;
  border:1px solid rgba(255,215,0,.42);
  border-radius:12px;
  color:#FFFFFF!important;
  display:flex;
  flex-direction:column;
  flex:0 0 auto;
  gap:8px;
  margin:0;
  padding:8px 13px;
  position:static;
  top:auto;
}
#tutor-member-experience .tutor-game-hud *:where(:not(button)){color:inherit!important}
#tutor-member-experience .tutor-board-kicker{color:#FFD700!important;font-size:9px;letter-spacing:.16em;line-height:1.2;margin:0}
#tutor-member-experience .tutor-board-title{color:#FFFFFF!important;font-family:"Bebas Neue",Impact,sans-serif;font-size:clamp(25px,3vw,34px);font-weight:400;letter-spacing:.025em;line-height:1;margin:0;position:static}
#tutor-member-experience .tutor-stage-round-row{align-items:center;display:flex;gap:12px;justify-content:space-between;position:static}
#tutor-member-experience .tutor-stage-round-label{color:#E8C56B!important;font-size:10px;font-weight:900;letter-spacing:.12em}
#tutor-member-experience .tutor-score-layer{position:relative;width:max-content}
#tutor-member-experience .tutor-score-chip{background:#0C1736!important;border:2px solid #FFD700!important;box-shadow:none!important;color:#FFD700!important;padding:6px 10px;position:static}
#tutor-member-experience .tutor-score-chip *:where(:not(button)){color:#FFD700!important}
#tutor-member-experience .tutor-round-progress{display:grid;gap:4px;grid-template-columns:repeat(4,1fr);margin:0;position:static;width:100%}
#tutor-member-experience .tutor-progress-segment{background:#53618B!important;height:5px}
#tutor-member-experience .tutor-progress-segment::after{background:#FFD700!important}
#tutor-member-experience .tutor-board-welcome{color:#E8ECFF!important;flex:0 0 auto;font-size:12px;line-height:1.35;margin:0;position:static}
#tutor-member-experience .tutor-phase-list{display:block;flex:1;margin-top:8px;min-height:0;overflow:auto;padding:1px 3px 4px;position:static}
#tutor-member-experience .tutor-spotlight{align-items:center;background:#FFFFFF;border:2px solid #FFD700;border-radius:14px;color:#1B2D6B;display:grid;gap:12px;grid-template-columns:92px minmax(0,1fr);margin:0 0 10px;overflow:hidden;padding:10px;position:relative}
#tutor-member-experience .tutor-spotlight-image{aspect-ratio:1/1;background:#EEF1F8;border:3px solid #1B2D6B;border-radius:11px;display:block;height:92px;object-fit:cover;width:92px}
#tutor-member-experience .tutor-spotlight-copy{min-width:0}
#tutor-member-experience .tutor-spotlight-kicker{color:#8A6B00!important;font-size:9px;font-weight:950;letter-spacing:.16em;line-height:1.2;margin:0 0 3px}
#tutor-member-experience .tutor-spotlight h4{color:#1B2D6B!important;font-size:17px;line-height:1.15;margin:0 0 4px}
#tutor-member-experience .tutor-spotlight-caption{color:#334475!important;display:-webkit-box;font-size:12px;line-height:1.35;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}
#tutor-member-experience .tutor-spotlight-credit{color:#66718F!important;font-size:9px;font-weight:700;letter-spacing:.04em;margin:5px 0 0}
/* The reserved spotlight slot: occupies the finished card's exact box so the
   photograph can arrive mid-round without pushing the board down. visibility
   keeps the space; display would give it away. */
#tutor-member-experience .tutor-spotlight.is-reserved{visibility:hidden}
#tutor-member-experience .tutor-stage-round{
  animation:tutor-stage-swap .24s ease both;
  background:#FFFFFF!important;
  border:2px solid #FFD700!important;
  border-radius:14px!important;
  box-shadow:none!important;
  color:#1B2D6B!important;
  margin:0;
  min-height:0;
  opacity:1!important;
  overflow:hidden;
}
#tutor-member-experience .tutor-stage-round:focus{outline:none}
#tutor-member-experience .tutor-stage-round .tutor-phase-banner{background:#1B2D6B!important;border-bottom:2px solid #FFD700;color:#FFFFFF!important;justify-content:space-between}
#tutor-member-experience .tutor-stage-round .tutor-phase-banner *:where(:not(button)){color:inherit!important}
#tutor-member-experience .tutor-stage-round .tutor-phase-heading h4{font-size:17px;margin:0}
#tutor-member-experience .tutor-stage-round .tutor-round-points{background:#FFD700!important;color:#1B2D6B!important}
#tutor-member-experience .tutor-stage-round .tutor-round-body,#tutor-member-experience .tutor-stage-round .tutor-round-setup{color:#1B2D6B!important}
#tutor-member-experience .tutor-stage-round .tutor-phase-banner{padding:6px 12px}
#tutor-member-experience .tutor-stage-round .tutor-round-body{padding:6px 11px}
#tutor-member-experience .tutor-stage-round .tutor-round-setup{font-size:13px;line-height:1.4;margin:0 0 8px}
#tutor-member-experience .tutor-stage-round .tutor-phase-visual{margin:0 auto 8px;max-height:none;max-width:248px}
#tutor-member-experience .tutor-stage-round .tutor-visual{height:100%;max-height:180px;width:auto}
#tutor-member-experience .tutor-stage-round .tutor-visual-readout{margin-top:8px}
#tutor-member-experience .tutor-stage-round .tutor-challenge{font-size:14px;line-height:1.35;padding:8px 10px}
#tutor-member-experience .tutor-stage-round .tutor-answer-grid{gap:8px;margin-top:8px}
#tutor-member-experience .tutor-stage-round .tutor-answer-choice{font-size:13px;gap:8px;grid-template-columns:30px 1fr auto;line-height:1.25;min-height:48px;padding:7px 10px}
#tutor-member-experience .tutor-stage-round .tutor-answer-letter{height:30px;width:30px}
#tutor-member-experience .tutor-stage-round .tutor-answer-explain{font-size:12px;line-height:1.4;margin-top:6px;padding:8px 10px}
#tutor-member-experience .tutor-next-round{
  background:#FFD700;
  border:0;
  border-radius:9px;
  box-shadow:0 4px 0 #C9A227;
  color:#1B2D6B!important;
  cursor:pointer;
  font-weight:900;
  letter-spacing:.05em;
  margin-top:6px;
  min-height:40px;
  padding:10px 18px;
  transition:transform .18s ease,box-shadow .18s ease;
  width:100%;
}
#tutor-member-experience .tutor-next-round:hover{box-shadow:0 6px 0 #C9A227;transform:translateY(-2px)}
#tutor-member-experience .tutor-next-round:active{box-shadow:0 2px 0 #C9A227;transform:translateY(2px)}
#tutor-member-experience .tutor-final-reveal{align-items:center;background:#FFD700!important;border-radius:14px;display:none;flex:1;justify-content:center;margin:0;min-height:0;padding:34px 24px}
#tutor-member-experience .tutor-final-reveal.is-visible{display:flex;flex-direction:column}
#tutor-member-experience .tutor-board-panel.is-complete{height:auto;min-height:0}
#tutor-member-experience .tutor-board-panel.is-complete .tutor-board-stage{height:auto;min-height:0}
#tutor-member-experience .tutor-board-panel.is-complete .tutor-phase-list{flex:0;margin:0;overflow:visible;padding:0}
#tutor-member-experience .tutor-board-panel.is-complete .tutor-final-reveal{flex:none;overflow:visible;width:100%}
#tutor-member-experience .tutor-script-panel{
  background:#fff!important;
  border:1px solid #FFD700!important;
  border-radius:16px!important;
  box-shadow:none!important;
  color:#fff!important;
  height:auto;
  max-height:820px;
  min-height:430px;
  min-width:0;
  order:2;
  overflow:hidden;
  padding:0!important;
}
#tutor-member-experience .tutor-script-panel .sh{
  align-items:center;
  background:#1B2D6B!important;
  color:#1B2D6B!important;
  display:flex;
  font-size:13px;
  font-weight:800;
  justify-content:space-between;
  letter-spacing:.06em;
  line-height:1.5;
  padding:10px 16px;
}
#tutor-member-experience .tutor-script-panel .sh span{color:#fff!important}
#tutor-member-experience .tutor-script-panel .sh .conf{background:transparent!important;color:#E8ECFF!important;font-size:10px;letter-spacing:.1em}
#tutor-member-experience .tutor-script-panel .sbody{background:#FFF9E8!important;display:flex;flex-direction:column;height:auto;max-height:calc(820px - 38px);padding:16px 18px}
#tutor-member-experience .tutor-script-panel.is-wrapup{height:auto;max-height:none;min-height:0}
#tutor-member-experience .tutor-script-panel.is-wrapup .sbody{height:auto;max-height:none;min-height:0}
#tutor-member-experience .tutor-script-panel.is-wrapup .tutor-script-stage{flex:none;overflow:visible}
#tutor-member-experience .tutor-script-stage{background:transparent!important;border:0!important;flex:0 1 auto;min-height:0;overflow:auto;padding:0}
#tutor-member-experience .tutor-script-current{animation:tutor-stage-swap .24s ease both;background:transparent!important;border:0!important;color:#1B2D6B!important;padding:0}
#tutor-member-experience .tutor-script-panel .phase{background:#1B2D6B!important;border-radius:8px;color:#1B2D6B!important;display:flex;font-size:13px;font-weight:800;justify-content:space-between;line-height:1.5;margin-bottom:10px;padding:7px 12px}
#tutor-member-experience .tutor-script-panel .phase span{color:#fff!important}
#tutor-member-experience .tutor-script-panel .phase .t{background:transparent!important;color:#fff!important}
#tutor-member-experience .tutor-script-panel .ln{background:#FFF9E8!important;border-radius:8px;color:#1B2D6B!important;font-size:13.5px;line-height:1.5;margin:7px 0;padding:6px 8px}
#tutor-member-experience .tutor-script-panel .tutor-script-say{font-weight:400}
#tutor-member-experience .tutor-script-panel .ln b{color:#1B2D6B!important;font-size:13.5px;font-weight:700;letter-spacing:normal}
#tutor-member-experience .tutor-script-panel .ln .tutor-script-body{color:#1B2D6B!important}
#tutor-member-experience .tutor-script-panel .tutor-script-say .say{font-style:italic}
#tutor-member-experience .tutor-script-panel .tutor-script-tip b{color:#0A6B43!important}
#tutor-member-experience .tutor-script-panel .tutor-script-onscreen{border-left:5px solid #C0392B;color:#1B2D6B!important;font-size:12.5px;font-weight:800;line-height:1.5;margin:8px 0;padding:5px 10px}
#tutor-member-experience .tutor-script-panel[dir="rtl"]{text-align:right}
#tutor-member-experience .tutor-script-panel[dir="rtl"] .tutor-script-onscreen{border-left:0;border-right:5px solid #C0392B}
#tutor-member-experience .tutor-script-panel[dir="rtl"] .tutor-script-peek:first-child{text-align:right}
#tutor-member-experience .tutor-script-panel[dir="rtl"] .tutor-script-peek:last-child{text-align:left}
#tutor-member-experience .tutor-script-panel .tutor-script-onscreen .tutor-script-body{color:#1B2D6B!important}
#tutor-member-experience .tutor-script-panel .tutor-script-watch b{color:#176B8F!important;font-size:13.5px;font-weight:700;letter-spacing:normal;text-transform:none}
#tutor-member-experience .tutor-script-panel .ansbox{background:#FFF9E8!important;border:1px solid #E7D89F!important;border-radius:9px;color:#1B2D6B!important;font-size:12.5px;margin-top:8px;padding:9px 12px}
#tutor-member-experience .tutor-script-panel .ansbox b{color:#1B2D6B!important;font-size:12.5px;font-weight:700;letter-spacing:normal}
#tutor-member-experience .tutor-script-panel .ansbox .tutor-script-body{color:#1B2D6B!important;line-height:1.5}
#tutor-member-experience .tutor-script-controls{background:#FFFFFF;border:1px solid #E7E2D4!important;border-radius:9px;display:grid;grid-template-columns:1fr auto 1fr;margin-top:12px;padding:6px;position:static}
#tutor-member-experience .tutor-script-peek{background:transparent;border:0;color:#1B2D6B!important;cursor:pointer;font-size:11px;font-weight:800;padding:8px}
#tutor-member-experience .tutor-script-peek:last-child{text-align:right}
#tutor-member-experience .tutor-script-peek:disabled{cursor:default;opacity:.35}
#tutor-member-experience .tutor-script-position{align-self:center;color:#8A6D1B!important;font-size:10px;font-weight:900;letter-spacing:.1em}
#tutor-member-experience .tutor-flag-control{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;line-height:1;min-height:44px;min-width:44px;opacity:.48;padding:12px;transition:opacity .16s ease,transform .16s ease}
#tutor-member-experience .tutor-flag-control:hover,#tutor-member-experience .tutor-flag-control:focus-visible{opacity:.9;transform:translateY(-1px)}
#tutor-member-experience .tutor-game-hud{position:relative}
#tutor-member-experience .tutor-game-hud>.tutor-flag-control{position:absolute;right:2px;top:0;z-index:2}
#tutor-member-experience .tutor-script-panel .sh{align-items:center;display:flex;gap:7px}
#tutor-member-experience .tutor-script-panel .sh>.tutor-flag-control{margin-left:auto}
#tutor-member-experience .tutor-script-panel[dir="rtl"] .sh>.tutor-flag-control{margin-left:0;margin-right:auto}
#tutor-member-experience .tutor-flag-overlay{align-items:center;background:rgba(11,20,46,.52);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:10020}
#tutor-member-experience .tutor-flag-card{background:#FFFDF7;border:1px solid rgba(212,160,23,.42);border-radius:16px;box-shadow:0 22px 60px rgba(11,20,46,.28);max-width:430px;padding:22px;width:100%}
#tutor-member-experience .tutor-flag-card h3{color:#14224D!important;font-size:21px;margin:0 0 14px}
#tutor-member-experience .tutor-flag-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}
#tutor-member-experience .tutor-flag-chip{background:#FFF;border:1px solid #D9D4C7;border-radius:999px;color:#34405F!important;cursor:pointer;font-size:13px;font-weight:800;min-height:44px;padding:10px 13px}
#tutor-member-experience .tutor-flag-chip.is-selected{background:#14224D;border-color:#14224D;color:#FFF!important}
#tutor-member-experience .tutor-flag-card textarea{background:#FFF;border:1px solid #D9D4C7;border-radius:10px;color:#14224D!important;display:block;font:inherit;min-height:88px;padding:11px;resize:vertical;width:100%}
#tutor-member-experience .tutor-flag-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:14px}
#tutor-member-experience .tutor-flag-actions .tutor-button{min-height:44px;padding:10px 18px}
#tutor-member-experience .tutor-flag-toast{background:#14224D;border:1px solid rgba(255,215,0,.55);border-radius:999px;bottom:24px;box-shadow:0 12px 35px rgba(11,20,46,.3);color:#FFF!important;font-size:14px;font-weight:850;left:50%;padding:11px 18px;position:fixed;transform:translateX(-50%);z-index:10030}
#tutor-member-experience .tutor-more-practice{background:linear-gradient(135deg,#FFD94F,#D4A017)!important;border-color:#B98508!important;color:#14224D!important;display:block;font-size:clamp(14px,2vw,17px);margin:18px auto 2px;max-width:560px;min-height:52px;width:100%}
#tutor-member-experience .tutor-more-practice:disabled{background:#E8E0C8!important;border-color:#C9BE9E!important;color:#756C57!important;cursor:not-allowed;opacity:1}
#tutor-member-experience .tutor-license-line{font-size:9px;font-weight:500;letter-spacing:.01em;line-height:1.45;margin:12px 0 0;padding-top:10px}
#tutor-member-experience .tutor-board-license{border-top:1px solid rgba(255,215,0,.28);color:#B8C4E8!important}
#tutor-member-experience .tutor-script-license{border-top:1px solid #E7E2D4;color:#68718A!important}
#tutor-member-experience .tutor-print-page-stamp,#tutor-member-experience .tutor-print-closing-license{display:none}
#tutor-member-experience .tutor-session-status{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:0 0 15px}
#tutor-member-experience .tutor-session-line{align-items:center;background:#1B2D6B!important;border:1px solid #FFD700!important;border-radius:999px;color:#FFF9E8!important;display:inline-flex;font-size:11px;font-weight:800;letter-spacing:.03em;line-height:1.2;margin:0;padding:7px 11px;text-align:right}
#tutor-member-experience .tutor-sessions-left{background:#FFF9E8;border:1px solid #E7D89F;border-radius:999px;color:#1B2D6B!important;font-size:11px;font-weight:800;line-height:1.25;margin:0;padding:7px 11px}
#tutor-member-experience .tutor-sessions-nudge{color:#6E6040!important;font-size:9px;font-weight:600;letter-spacing:0}
#tutor-member-experience .tutor-credits-wall{background:#1B2D6B!important;border:2px solid #FFD700!important;color:#FFF9E8!important;overflow:hidden;padding:clamp(30px,5vw,56px);position:relative;text-align:center}
#tutor-member-experience .tutor-credits-wall::before{background:linear-gradient(135deg,rgba(255,215,0,.15),transparent 48%);content:"";inset:0;pointer-events:none;position:absolute}
#tutor-member-experience .tutor-credits-wall>*{position:relative}
#tutor-member-experience .tutor-credits-wall h3{color:#FFFFFF!important;font-size:clamp(30px,4vw,46px);margin:0 0 12px}
#tutor-member-experience .tutor-credits-message{color:#E8ECFF!important;font-size:16px;line-height:1.55;margin:0 auto 24px;max-width:620px}
#tutor-member-experience .tutor-credits-call{background:#FFD700!important;border-color:#FFD700!important;color:#1B2D6B!important;display:inline-flex;font-size:15px;justify-content:center;min-width:min(100%,330px);padding:16px 24px;text-decoration:none}
#tutor-member-experience .tutor-credits-secondary{color:#FFF9E8!important;font-size:12px;line-height:1.5;margin:17px 0 0}
#tutor-member-experience .tutor-credits-wall .tutor-actions{justify-content:center;margin-top:20px}
#tutor-member-experience .tutor-credits-wall .tutor-button-outline{border-color:#FFD700!important;color:#FFF9E8!important}
#tutor-member-experience .tutor-credits-login{margin-top:18px}
@keyframes tutor-stage-swap{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:760px){
  #tutor-member-experience .tutor-mobile-tabs{display:grid!important}
  #tutor-member-experience .tutor-session-grid{display:flex!important;flex-direction:column!important;gap:0!important}
  #tutor-member-experience .tutor-board-panel{height:auto;min-height:720px;order:1;width:100%}
  #tutor-member-experience .tutor-script-panel{height:auto;max-height:720px;min-height:0;order:2;width:100%}
  #tutor-member-experience .tutor-board-stage{height:auto;min-height:720px;padding:8px}
  #tutor-member-experience .tutor-game-hud{align-items:stretch}
  #tutor-member-experience .tutor-phase-list{overflow:visible}
  #tutor-member-experience .tutor-stage-round{min-height:0}
  #tutor-member-experience .tutor-script-panel .sbody{height:auto;max-height:calc(720px - 38px);min-height:0}
  #tutor-member-experience .tutor-script-stage{overflow:auto}
  #tutor-member-experience .tutor-session-status{flex-direction:column;justify-content:center}
  #tutor-member-experience .tutor-sessions-left{text-align:center}
  #tutor-member-experience .tutor-sessions-nudge{display:block;margin-top:3px}
  #tutor-member-experience .tutor-credits-wall{padding:30px 18px}
  #tutor-member-experience .tutor-credits-call{width:100%}
}

@media print{
  @page{margin:.55in .45in .75in}
  #tutor-member-experience .tutor-session-grid{display:block!important}
  #tutor-member-experience .tutor-board-panel,#tutor-member-experience .tutor-script-panel{height:auto!important;overflow:visible!important}
  #tutor-member-experience .tutor-board-stage,#tutor-member-experience .tutor-script-panel .sbody{height:auto!important;min-height:0!important}
  #tutor-member-experience .tutor-script-panel .sbody,#tutor-member-experience .tutor-script-panel .ln,#tutor-member-experience .tutor-script-panel .ansbox{background:#FFFFFF!important;box-shadow:none!important}
  #tutor-member-experience .tutor-board-stage{isolation:isolate;overflow:hidden!important;position:relative}
  #tutor-member-experience .tutor-board-watermark{color:#1B2D6B!important;display:grid!important;inset:-8%;opacity:.055!important;position:absolute!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #tutor-member-experience .tutor-phase-list,#tutor-member-experience .tutor-script-stage{overflow:visible!important}
  #tutor-member-experience .tutor-stage-round{break-inside:avoid;min-height:0!important;margin-bottom:18px}
  #tutor-member-experience .tutor-spotlight{break-inside:avoid;margin-bottom:18px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #tutor-member-experience .tutor-spotlight-image{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  /* A slot still waiting on Wikipedia prints as nothing, not as a blank block. */
  #tutor-member-experience .tutor-spotlight.is-reserved{display:none!important}
  #tutor-member-experience .tutor-script-current{break-inside:avoid;margin-bottom:18px}
  #tutor-member-experience .tutor-flag-control,#tutor-member-experience .tutor-flag-overlay,#tutor-member-experience .tutor-flag-toast,#tutor-member-experience .tutor-more-practice{display:none!important}
  #tutor-member-experience .tutor-license-line{display:none!important}
  #tutor-member-experience .tutor-print-page-stamp{background:#fff!important;border-bottom:1px solid #777;color:#333!important;display:block!important;font-size:9px;font-weight:700;letter-spacing:.04em;line-height:1.2;margin-bottom:12px;padding-bottom:5px;position:static;text-align:center}
  body:has(#tutor-member-experience .tutor-session)::before{background:#fff!important;border-top:1px solid #777;color:#333!important;content:var(--tutor-print-page-stamp);display:block!important;font-size:9px;font-weight:700;left:0;letter-spacing:.04em;line-height:1.2;padding-top:5px;position:fixed;right:0;text-align:center;bottom:-.45in;visibility:visible!important;z-index:9999}
  #tutor-member-experience .tutor-print-closing-license{border-top:1px solid #777;color:#333!important;display:block!important;font-size:9px;line-height:1.45;margin:22px 0 0;padding-top:10px}
}
/* Bonus Round quiz */
#tutor-member-experience .tutor-drill-stage{background:radial-gradient(circle at 50% -20%,rgba(255,215,0,.18),transparent 42%),linear-gradient(145deg,#102C68,#07183F 72%);border:2px solid #E4B92F;border-radius:18px;box-shadow:0 8px 0 rgba(7,24,63,.28),inset 0 0 0 1px rgba(255,255,255,.08);color:#FFFFFF;margin-top:20px;overflow:hidden;padding:20px;position:relative;width:100%;z-index:3}
#tutor-member-experience .tutor-warmup-stage{background:radial-gradient(circle at 12% -15%,rgba(255,232,122,.26),transparent 38%),linear-gradient(145deg,#173879,#091D4D 74%);margin:8px 0 4px;padding:18px}
#tutor-member-experience .tutor-warmup-stage .tutor-drill-call{margin-top:14px;min-height:72px}
#tutor-member-experience .tutor-warmup-stage .tutor-drill-choices{margin-top:10px}
#tutor-member-experience .tutor-drill-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;text-align:left}
#tutor-member-experience .tutor-drill-kicker{color:#FFD94A!important;display:block;font-size:15px;font-weight:950;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}
#tutor-member-experience .tutor-drill-head h3{color:#FFFFFF!important;font-size:clamp(17px,2.2vw,23px);font-weight:900;line-height:1.25;margin:6px 0 0;max-width:560px}
#tutor-member-experience .tutor-drill-coins{align-items:center;background:#FFF7CE!important;border:2px solid #FFD700!important;border-radius:999px;box-shadow:0 3px 0 #9B6B00;color:#6E4B00!important;display:flex;flex:0 0 auto;font-size:16px;font-weight:950;justify-content:center;min-height:44px;min-width:76px;padding:8px 12px}
#tutor-member-experience .tutor-drill-coins.is-popping{animation:tutor-drill-coin-pop .3s ease}
#tutor-member-experience .tutor-drill-meta{align-items:center;color:#FFF2A5!important;display:flex;font-size:12px;font-weight:850;gap:12px;justify-content:space-between;letter-spacing:.08em;margin-top:18px;text-transform:uppercase}
#tutor-member-experience .tutor-drill-meta strong,#tutor-member-experience .tutor-drill-meta span{color:#FFD94A!important;font-weight:950}
#tutor-member-experience .tutor-drill-timer{background:rgba(255,255,255,.16);border-radius:999px;height:5px;margin:9px 0 0;overflow:hidden;width:100%}
#tutor-member-experience .tutor-drill-timer-fill{animation:tutor-drill-countdown var(--tutor-drill-seconds) linear forwards;background:linear-gradient(90deg,#C99708,#FFE76D);border-radius:inherit;display:block;height:100%;transform-origin:left;width:100%}
#tutor-member-experience .tutor-drill-call{align-items:center;color:#FFFFFF!important;display:flex;font-size:clamp(25px,4.4vw,42px);font-weight:950;justify-content:center;letter-spacing:-.025em;line-height:1.08;margin:22px auto 15px;min-height:88px;text-align:center;text-wrap:balance;width:min(100%,760px)}
#tutor-member-experience .tutor-drill-call.is-flashing{animation:tutor-drill-call-flash .3s ease}
#tutor-member-experience .tutor-drill-prompt{color:#FFF2A5!important;font-size:12px;font-weight:900;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}
#tutor-member-experience .tutor-drill-choices{display:grid;gap:11px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
#tutor-member-experience .tutor-drill-choice{align-items:center;background:#C69B18!important;border:2px solid #FFF2A5!important;border-radius:13px;box-shadow:0 5px 0 #745400;color:#FFFFFF!important;cursor:pointer;display:flex;font-size:clamp(14px,1.8vw,18px);font-weight:850;justify-content:center;line-height:1.18;min-height:58px;padding:11px 12px;position:relative;text-align:center;touch-action:manipulation;transition:background .12s ease,box-shadow .12s ease,filter .12s ease,transform .12s ease}
#tutor-member-experience .tutor-drill-choice span{color:#FFFFFF!important}
#tutor-member-experience .tutor-drill-choice.is-anchor{background:#E8B900!important;border-color:#FFF9C9!important;box-shadow:0 5px 0 #8A6500,0 0 18px rgba(255,215,0,.16);filter:brightness(1.07);font-size:clamp(15px,1.9vw,19px);font-weight:950}
#tutor-member-experience .tutor-drill-choice:hover{filter:brightness(1.08);transform:translateY(-1px)}
#tutor-member-experience .tutor-drill-choice:active{box-shadow:0 2px 0 #745400;transform:translateY(3px)}
#tutor-member-experience .tutor-drill-choice:focus-visible,#tutor-member-experience .tutor-drill-skip:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
#tutor-member-experience .tutor-drill-choice.is-correct{background:#18A56F!important;border-color:#DFFFF2!important;box-shadow:0 4px 0 #086C49;filter:none}
#tutor-member-experience .tutor-drill-choice.is-wrong{background:#A83932!important;border-color:#FFD8D4!important;box-shadow:0 4px 0 #64211D;filter:none}
#tutor-member-experience .tutor-drill-check{align-items:center;background:#FFFFFF;border-radius:999px;color:#08764F;display:flex;font-size:18px;font-weight:950;height:28px;justify-content:center;position:absolute;right:8px;top:8px;width:28px}
#tutor-member-experience .tutor-drill-stage.is-refiring{animation:tutor-drill-refire .36s ease}
#tutor-member-experience .tutor-drill-skip{background:transparent!important;border:0!important;color:#FFF2A5!important;cursor:pointer;display:block;font-size:12px;font-weight:850;margin:13px auto -8px;min-height:44px;padding:8px 14px;text-decoration:underline;text-underline-offset:3px;touch-action:manipulation}
#tutor-member-experience .tutor-drill-complete{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:250px;text-align:center}
#tutor-member-experience .tutor-drill-complete-mark{align-items:center;background:#FFD700;border:4px solid #FFF6B0;border-radius:50%;box-shadow:0 0 0 8px rgba(255,215,0,.13);color:#102C68;display:flex;font-size:42px;font-weight:950;height:76px;justify-content:center;margin-bottom:16px;width:76px}
#tutor-member-experience .tutor-drill-complete h3{color:#FFFFFF!important;font-size:clamp(25px,4vw,38px);font-weight:950;letter-spacing:.03em;margin:0}
#tutor-member-experience .tutor-drill-complete-coins{color:#FFD94A!important;font-size:clamp(24px,4vw,34px);font-weight:950;margin-top:10px}
#tutor-member-experience .tutor-drill-sweep{background:#FFF7CE!important;border-radius:999px;color:#6E4B00!important;font-size:12px;font-weight:950;letter-spacing:.08em;margin-top:12px;padding:7px 12px;text-transform:uppercase}
#tutor-member-experience .tutor-script-drill-note{background:#FFF2A5!important;border:1px solid #D4A900;border-radius:9px;color:#1B2D6B!important;font-weight:800;margin-top:10px!important;padding:10px 11px!important}
@keyframes tutor-drill-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes tutor-drill-call-flash{0%{opacity:.38;transform:scale(.985)}100%{opacity:1;transform:scale(1)}}
@keyframes tutor-drill-refire{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@keyframes tutor-drill-coin-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}

#tutor-member-experience .tutor-bonus-prompt{align-items:center;background:#fff8ca;border:2px solid #1B2D6B;border-radius:14px;box-shadow:0 5px 0 rgba(27,45,107,.13);display:flex;flex-direction:column;gap:5px;margin-top:18px;padding:16px 18px;position:relative;width:min(100%,560px);z-index:2}
#tutor-member-experience .tutor-bonus-prompt strong{color:#1B2D6B!important;font-size:clamp(16px,2vw,20px);line-height:1.25}
#tutor-member-experience .tutor-bonus-prompt span{color:#1B2D6B!important;font-size:14px;font-weight:700}
#tutor-member-experience .tutor-bonus-prompt-actions{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:7px}
#tutor-member-experience .tutor-bonus-start{background:#FFD700;border:2px solid #1B2D6B;border-radius:999px;box-shadow:0 4px 0 #1B2D6B;color:#1B2D6B;cursor:pointer;font-size:14px;font-weight:950;letter-spacing:.08em;min-height:46px;min-width:124px;padding:10px 22px;touch-action:manipulation}
#tutor-member-experience .tutor-bonus-start:hover{transform:translateY(-1px)}
#tutor-member-experience .tutor-bonus-start:active{box-shadow:0 2px 0 #1B2D6B;transform:translateY(2px)}
#tutor-member-experience .tutor-bonus-start:focus-visible,#tutor-member-experience .tutor-bonus-later:focus-visible,#tutor-member-experience .tutor-quiz-close:focus-visible{outline:3px solid #12805C;outline-offset:3px}
#tutor-member-experience .tutor-bonus-later{background:transparent;border:0;color:#1B2D6B;cursor:pointer;font-size:12px;font-weight:800;min-height:44px;padding:8px;text-decoration:underline;text-underline-offset:3px;touch-action:manipulation}
#tutor-member-experience .tutor-celebration-coins{display:inline-block;font-weight:950;white-space:nowrap}
#tutor-member-experience .tutor-quiz-overlay{align-items:center;background:rgba(12,23,54,.78);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}
#tutor-member-experience .tutor-quiz-card{background:#FFFDF4;border:3px solid #FFD700;border-radius:22px;box-shadow:0 24px 80px rgba(7,15,40,.42),0 8px 0 rgba(12,23,54,.28);color:#1B2D6B;max-height:calc(100vh - 32px);max-width:720px;overflow:auto;padding:clamp(24px,4vw,42px);position:relative;transform:translateX(var(--tutor-quiz-axis-shift,0px));width:100%}
#tutor-member-experience .tutor-quiz-close{align-items:center;background:#fff;border:2px solid #1B2D6B;border-radius:50%;color:#1B2D6B;cursor:pointer;display:flex;font-size:25px;font-weight:800;height:44px;justify-content:center;line-height:1;padding:0;position:absolute;right:14px;top:14px;touch-action:manipulation;width:44px;z-index:3}
#tutor-member-experience .tutor-quiz-top{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding-right:44px}
#tutor-member-experience .tutor-quiz-kicker{color:#9B6B00;display:block;font-size:12px;font-weight:950;letter-spacing:.12em;margin-bottom:5px}
#tutor-member-experience .tutor-quiz-card h3{color:#1B2D6B!important;font-size:clamp(21px,3vw,30px);line-height:1.12;margin:0}
#tutor-member-experience .tutor-quiz-counter{align-items:center;background:#0C1736;border:2px solid #FFD700;border-radius:999px;color:#FFD700!important;display:flex;font-size:18px;font-weight:950;gap:5px;justify-content:center;min-height:48px;min-width:82px;padding:8px 14px;transform-origin:center}
#tutor-member-experience .tutor-quiz-counter span{color:#FFD700!important}
#tutor-member-experience .tutor-quiz-counter.is-pulsing{animation:tutor-quiz-counter-pulse .38s ease}
#tutor-member-experience .tutor-quiz-dots{display:flex;gap:8px;margin:20px 0 22px}
#tutor-member-experience .tutor-quiz-dot{background:#d4d9e5;border:2px solid #a8b0c4;border-radius:999px;height:10px;transition:background .2s ease,transform .2s ease;width:10px}
#tutor-member-experience .tutor-quiz-dot.is-current{background:#FFD700;border-color:#9B6B00;transform:scale(1.3)}
#tutor-member-experience .tutor-quiz-dot.is-complete{background:#12805C;border-color:#12805C}
#tutor-member-experience .tutor-quiz-question{color:#1B2D6B!important;font-size:clamp(19px,2.8vw,27px);font-weight:900;line-height:1.3;margin:0 0 18px}
#tutor-member-experience .tutor-quiz-answers{margin-top:0}
#tutor-member-experience .tutor-quiz-choice{min-height:62px;position:relative;touch-action:manipulation}
#tutor-member-experience .tutor-quiz-choice.is-correct{background:#DFF7E9!important;border-color:#12805C!important;box-shadow:0 4px 0 rgba(18,128,92,.25)!important;color:#0A5B42!important}
#tutor-member-experience .tutor-quiz-choice.is-wrong{background:#FFF0EF!important;border-color:#C93A32!important;color:#7D211C!important}
#tutor-member-experience .tutor-quiz-choice.is-revealed-correct{background:#EDF9F2!important;border-color:#45A77F!important;color:#0A5B42!important;opacity:1!important}
#tutor-member-experience .tutor-quiz-choice.is-dimmed{opacity:.48!important}
#tutor-member-experience .tutor-quiz-choice.is-shaking{animation:tutor-quiz-wrong-shake .36s ease}
#tutor-member-experience .tutor-quiz-coin-flight{display:block;font-size:29px;line-height:1;pointer-events:none;position:absolute;right:13px;top:50%;transform:translateY(-50%);transform-origin:center;z-index:8}
#tutor-member-experience .tutor-quiz-coin-flight.is-flying{animation:tutor-quiz-coin-arc .72s cubic-bezier(.22,.7,.25,1) forwards}
#tutor-member-experience .tutor-quiz-explain{animation:tutor-answer-explain-in .35s ease;background:#FFF7CE;border:2px solid #E1B900;border-radius:14px;color:#1B2D6B;display:grid;gap:4px;margin-top:18px;padding:14px 16px}
#tutor-member-experience .tutor-quiz-explain b{color:#1B2D6B;font-size:12px;letter-spacing:.08em}
#tutor-member-experience .tutor-quiz-explain span{color:#1B2D6B;font-size:14px;line-height:1.45}
#tutor-member-experience .tutor-quiz-next,#tutor-member-experience .tutor-bonus-done{display:flex;justify-content:center;margin:18px 0 0 auto;min-height:48px;min-width:160px}
#tutor-member-experience .tutor-quiz-results{text-align:center}
#tutor-member-experience .tutor-quiz-result-medal{font-size:58px;line-height:1;margin:4px 0 14px}
#tutor-member-experience .tutor-quiz-tally{color:#9B6B00;font-size:clamp(38px,8vw,66px);font-weight:950;letter-spacing:-.04em;line-height:1;margin:18px 0 14px}
#tutor-member-experience .tutor-quiz-results p{color:#1B2D6B!important;font-size:17px;font-weight:750;line-height:1.5;margin:0 auto;max-width:510px}
#tutor-member-experience .tutor-bonus-done{margin-left:auto;margin-right:auto}
#tutor-member-experience .tutor-print-bonus{display:none}
@keyframes tutor-quiz-coin-arc{0%{opacity:1;transform:translateY(-50%) rotateY(0) scale(.8)}45%{opacity:1;transform:translate(calc(var(--tutor-coin-x)*.52),calc(var(--tutor-coin-y)*.52 - 54px)) rotateY(540deg) scale(1.16)}100%{opacity:0;transform:translate(var(--tutor-coin-x),var(--tutor-coin-y)) rotateY(1080deg) scale(.72)}}
@keyframes tutor-quiz-counter-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,215,0,0);transform:scale(1)}45%{box-shadow:0 0 0 10px rgba(255,215,0,.24);transform:scale(1.1)}}
@keyframes tutor-quiz-wrong-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}

@media(max-width:480px){
  #tutor-member-experience .tutor-drill-stage{border-radius:14px;margin-left:-7px;padding:16px 12px;width:calc(100% + 14px)}
  #tutor-member-experience .tutor-drill-head{gap:10px}
  #tutor-member-experience .tutor-drill-kicker{font-size:13px}
  #tutor-member-experience .tutor-drill-head h3{font-size:16px}
  #tutor-member-experience .tutor-drill-coins{font-size:14px;min-width:68px;padding:7px 9px}
  #tutor-member-experience .tutor-drill-meta{align-items:flex-start;flex-direction:column;gap:3px}
  #tutor-member-experience .tutor-drill-call{font-size:27px;margin-top:17px;min-height:80px}
  #tutor-member-experience .tutor-drill-choices{grid-template-columns:1fr}
  #tutor-member-experience .tutor-drill-choice,#tutor-member-experience .tutor-drill-choice.is-anchor{font-size:16px;min-height:52px;padding:10px 42px 10px 12px}
  #tutor-member-experience .tutor-drill-skip{width:100%}
  #tutor-member-experience .tutor-warmup-stage{margin-top:4px;padding:14px 12px}
  #tutor-member-experience .tutor-warmup-stage .tutor-drill-call{min-height:68px}
  #tutor-member-experience .tutor-quiz-overlay{align-items:flex-end;padding:10px}
  #tutor-member-experience .tutor-quiz-card{border-radius:20px 20px 14px 14px;max-height:calc(100vh - 20px);padding:24px 16px 20px;transform:none}
  #tutor-member-experience .tutor-quiz-top{padding-right:38px}
  #tutor-member-experience .tutor-quiz-counter{font-size:16px;min-height:44px;min-width:72px;padding:7px 10px}
  #tutor-member-experience .tutor-quiz-question{font-size:19px}
  #tutor-member-experience .tutor-quiz-answers{grid-template-columns:1fr}
  #tutor-member-experience .tutor-quiz-choice{min-height:54px;padding:10px 12px}
  #tutor-member-experience .tutor-quiz-next{margin-left:0;width:100%}
  #tutor-member-experience .tutor-bonus-prompt-actions{flex-direction:column;gap:2px;width:100%}
  #tutor-member-experience .tutor-bonus-start{width:100%}
}

@media(prefers-reduced-motion:reduce){
  #tutor-member-experience .tutor-flag-control{transition:none}
  #tutor-member-experience .tutor-drill-call.is-flashing,#tutor-member-experience .tutor-drill-coins.is-popping,#tutor-member-experience .tutor-drill-stage.is-refiring,#tutor-member-experience .tutor-drill-timer-fill{animation:none!important}
  #tutor-member-experience .tutor-drill-stage.is-refiring{box-shadow:0 0 0 3px #FFD8D4,0 8px 0 rgba(7,24,63,.28)}
  #tutor-member-experience .tutor-drill-choice{transition:none!important}
  #tutor-member-experience .tutor-drill-choice:hover{transform:none}
  #tutor-member-experience .tutor-quiz-coin-flight{display:none!important}
  #tutor-member-experience .tutor-quiz-counter.is-pulsing,#tutor-member-experience .tutor-quiz-choice.is-shaking{animation:none!important}
  #tutor-member-experience .tutor-quiz-dot,#tutor-member-experience .tutor-bonus-start{transition:none!important}
}

@media print{
  #tutor-member-experience .tutor-drill-stage,#tutor-member-experience .tutor-warmup-stage,#tutor-member-experience .tutor-bonus-prompt,#tutor-member-experience .tutor-quiz-overlay,#tutor-member-experience .tutor-celebration-coins{display:none!important}
  #tutor-member-experience .tutor-print-bonus{border-top:1px solid #777;color:#111!important;display:block!important;font-size:11px;line-height:1.4;margin:8px 0 0;padding-top:8px}
}

/* Voice engine */
#tutor-member-experience .tutor-voice-picker{border:0;margin:2px 0 20px;padding:0}
#tutor-member-experience .tutor-voice-picker legend{color:#1B2D6B;font-size:12px;font-weight:950;letter-spacing:.12em;margin:0;padding:0;text-transform:uppercase}
#tutor-member-experience .tutor-voice-hint{color:#66718F;font-size:11px;font-weight:700;line-height:1.35;margin:4px 0 9px}
#tutor-member-experience .tutor-voice-grid{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
#tutor-member-experience .tutor-voice-grid.has-founder-voice{grid-template-columns:repeat(3,minmax(0,1fr))}
#tutor-member-experience .tutor-voice-tile{align-items:stretch;background:#FFFFFF;border:2px solid #D9DFEC;border-radius:12px;display:flex;min-height:62px;overflow:hidden;position:relative;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
#tutor-member-experience .tutor-voice-tile.is-selected{border-color:#1B2D6B;box-shadow:0 0 0 2px #FFD700}
#tutor-member-experience .tutor-voice-tile.is-selected::after{background:#FFD700;border-radius:999px;color:#1B2D6B;content:'✓';font-size:11px;font-weight:950;height:18px;line-height:18px;position:absolute;right:5px;text-align:center;top:5px;width:18px}
#tutor-member-experience .tutor-voice-select{align-items:center;background:transparent;border:0;color:#1B2D6B;cursor:pointer;display:flex;flex:1;gap:8px;min-height:58px;min-width:0;padding:9px 5px 9px 10px;text-align:left;touch-action:manipulation}
#tutor-member-experience .tutor-voice-select span:last-child{display:grid;gap:1px;min-width:0}
#tutor-member-experience .tutor-voice-select strong{color:#1B2D6B;font-size:14px;line-height:1.15}
#tutor-member-experience .tutor-voice-select small{color:#66718F;font-size:10px;font-weight:750;line-height:1.2}
#tutor-member-experience .tutor-voice-icon{font-size:21px;line-height:1}
#tutor-member-experience .tutor-voice-preview{align-items:center;background:#F5F7FC;border:0;border-left:1px solid #D9DFEC;color:#1B2D6B;cursor:pointer;display:flex;font-size:15px;justify-content:center;min-height:44px;min-width:44px;padding:0;touch-action:manipulation;transition:background .18s ease,opacity .18s ease}
#tutor-member-experience .tutor-voice-preview:hover{background:#FFF4AF}
#tutor-member-experience .tutor-voice-preview.is-loading{animation:tutor-voice-pulse .8s ease-in-out infinite}
#tutor-member-experience .tutor-voice-preview.is-playing{background:#FFD700}
#tutor-member-experience .tutor-voice-preview.is-error{color:#B12B24}
#tutor-member-experience .tutor-voice-shan{background:linear-gradient(135deg,#FFFDF0,#FFF0A6);border-color:#B98B00;box-shadow:inset 0 0 0 1px rgba(185,139,0,.18)}
#tutor-member-experience .tutor-voice-shan .tutor-voice-select strong{color:#6B4D00}
#tutor-member-experience .tutor-voice-shan .tutor-voice-select small{color:#785A00}
#tutor-member-experience .tutor-voice-shan .tutor-voice-preview{background:#FFF8D4;border-left-color:#D7AE22;color:#6B4D00}
#tutor-member-experience .tutor-voice-shan .tutor-voice-preview:hover{background:#FFE96A}
#tutor-member-experience .tutor-voice-select:focus-visible,#tutor-member-experience .tutor-voice-preview:focus-visible{outline:3px solid #3B9BD4;outline-offset:-3px}
#tutor-member-experience .tutor-speak-control{align-items:center;background:#FFF7CE;border:1px solid #B98B00;border-radius:8px;color:#1B2D6B!important;cursor:pointer;display:inline-flex;flex:0 0 44px;font-size:15px;height:44px;justify-content:center;line-height:1;margin:-7px 0 -7px 6px;min-width:44px;padding:0;touch-action:manipulation;transition:background .18s ease,transform .18s ease}
#tutor-member-experience .tutor-speak-control:hover{background:#FFE96A;transform:translateY(-1px)}
#tutor-member-experience .tutor-speak-control:focus-visible{outline:3px solid #3B9BD4;outline-offset:2px}
#tutor-member-experience .tutor-speak-control.is-loading{animation:tutor-voice-pulse .8s ease-in-out infinite}
#tutor-member-experience .tutor-speak-control.is-playing{background:#FFD700}
#tutor-member-experience .tutor-speak-control.is-paused{background:#FFFFFF}
#tutor-member-experience .tutor-speak-control.is-error{background:#FFF0EF;border-color:#C93A32;color:#9C261F!important;font-size:20px}
#tutor-member-experience .tutor-script-panel[dir="rtl"] .tutor-speak-control{margin-left:0;margin-right:6px}
#tutor-member-experience .tutor-language-other{margin-top:8px}
#tutor-member-experience .tutor-language-other label{font-size:10px;letter-spacing:.06em;margin-bottom:4px}
#tutor-member-experience .tutor-language-other input{min-height:44px;padding:8px 11px}
#tutor-member-experience .tutor-confirm{display:grid;gap:8px}
#tutor-member-experience .tutor-confirm-class{color:#1B2D6B;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
#tutor-member-experience .tutor-confirm span{font-size:18px}
#tutor-member-experience .tutor-script-panel .sh>.tutor-class-context{color:#FFF4AF!important;font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.25;text-transform:none}
#tutor-member-experience .tutor-speech-tools{align-items:center;color:#1B2D6B!important;display:inline-flex;flex:0 0 auto;margin-left:auto}
#tutor-member-experience .tutor-speed-chip{align-items:center;background:#FFFFFF;border:1px solid #B98B00;border-radius:999px;color:#1B2D6B!important;cursor:pointer;display:inline-flex;font-size:11px;font-weight:950;height:44px;justify-content:center;line-height:1;margin:-7px 0 -7px 5px;min-width:44px;padding:0 8px;touch-action:manipulation;transition:background .18s ease,transform .18s ease}
#tutor-member-experience .tutor-speed-chip:hover{background:#FFF4AF;transform:translateY(-1px)}
#tutor-member-experience .tutor-speed-chip:focus-visible{outline:3px solid #3B9BD4;outline-offset:2px}
#tutor-member-experience .tutor-script-panel[dir="rtl"] .tutor-speech-tools{margin-left:0;margin-right:auto}
#tutor-member-experience .tutor-script-panel[dir="rtl"] .tutor-speed-chip{margin-left:0;margin-right:5px}
@keyframes tutor-voice-pulse{0%,100%{opacity:.45}50%{opacity:1}}

@media(max-width:600px){
  #tutor-member-experience .tutor-voice-grid{grid-template-columns:1fr 1fr}
  #tutor-member-experience .tutor-voice-grid.has-founder-voice{grid-template-columns:1fr 1fr}
  #tutor-member-experience .tutor-voice-shan{grid-column:1/-1}
  #tutor-member-experience .tutor-speak-control{margin-left:4px}
  #tutor-member-experience .tutor-script-panel .sh{align-items:flex-start;flex-wrap:wrap}
  #tutor-member-experience .tutor-script-panel .sh>.tutor-class-context{flex:1 1 100%;order:3}
}

@media(prefers-reduced-motion:reduce){
  #tutor-member-experience .tutor-voice-tile,#tutor-member-experience .tutor-voice-preview,#tutor-member-experience .tutor-speak-control,#tutor-member-experience .tutor-speed-chip{animation:none!important;transition:none!important}
  #tutor-member-experience .tutor-speak-control:hover,#tutor-member-experience .tutor-speed-chip:hover{transform:none}
}

@media print{
  #tutor-member-experience .tutor-voice-picker,#tutor-member-experience .tutor-speech-tools,#tutor-member-experience .tutor-speak-control,#tutor-member-experience .tutor-speed-chip{display:none!important}
}

/* Client-side Robo rival */
#tutor-member-experience .tutor-robo-toggle{align-items:center;background:#FFF9E8;border:2px solid #D8B643;border-radius:14px;color:#1B2D6B;cursor:pointer;display:flex;font-size:14px;font-weight:900;gap:11px;line-height:1.25;margin:-8px 0 22px;min-height:52px;padding:10px 12px;touch-action:manipulation}
#tutor-member-experience .tutor-robo-toggle input{height:1px;opacity:0;position:absolute;width:1px}
#tutor-member-experience .tutor-robo-toggle-track{background:#C7CDD9;border:2px solid #737D93;border-radius:999px;display:inline-flex;flex:0 0 auto;height:26px;padding:2px;transition:background .18s ease,border-color .18s ease;width:46px}
#tutor-member-experience .tutor-robo-toggle-track span{background:#FFFFFF;border-radius:50%;box-shadow:0 1px 3px rgba(12,23,54,.25);display:block;height:18px;transform:translateX(0);transition:transform .18s ease;width:18px}
#tutor-member-experience .tutor-robo-toggle input:checked+.tutor-robo-toggle-track{background:#FFD700;border-color:#8A6800}
#tutor-member-experience .tutor-robo-toggle input:checked+.tutor-robo-toggle-track span{transform:translateX(18px)}
#tutor-member-experience .tutor-robo-toggle input:focus-visible+.tutor-robo-toggle-track{outline:3px solid #3B9BD4;outline-offset:3px}
#tutor-member-experience .tutor-robo-race-strip{background:linear-gradient(135deg,#102C68 0%,#173E73 48%,#0D294F 100%);border:2px solid #E1B93B;border-radius:16px;box-shadow:0 8px 0 rgba(7,24,63,.18),inset 0 1px 0 rgba(255,255,255,.16);color:#FFFFFF!important;display:block;margin:0 0 14px;min-width:0;padding:10px 12px 12px;position:relative;width:100%;z-index:4}
#tutor-member-experience .tutor-robo-race-strip *:where(:not(button)){color:inherit!important}
#tutor-member-experience .tutor-race-title{color:#FFE47A!important;font-size:11px;font-weight:950;letter-spacing:.16em;line-height:1;margin-bottom:8px;text-align:center}
#tutor-member-experience .tutor-race-lanes{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
#tutor-member-experience .tutor-race-lane{border:1px solid rgba(255,255,255,.2);border-radius:12px;min-width:0;padding:8px 9px 9px;position:relative;transition:border-color .22s ease,box-shadow .22s ease}
#tutor-member-experience .tutor-race-label{align-items:center;display:flex;font-size:12px;font-weight:950;gap:5px;letter-spacing:.055em;line-height:1;margin-bottom:6px;min-height:18px;text-transform:uppercase}
#tutor-member-experience .tutor-race-label>span:not(.tutor-robo-dots):not(.tutor-robo-burst):not(.tutor-race-crown){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tutor-member-experience .tutor-robo-avatar{display:inline-block;font-size:18px;line-height:1;transform-origin:50% 80%}
#tutor-member-experience .tutor-race-track{background:rgba(3,13,36,.58);border:1px solid rgba(255,255,255,.3);border-radius:999px;height:27px;overflow:hidden;position:relative;width:100%}
#tutor-member-experience .tutor-race-fill{bottom:0;left:0;position:absolute;top:0;transform:scaleX(var(--tutor-race-progress));transform-origin:left center;width:100%}
#tutor-member-experience .tutor-race-student .tutor-race-fill{background:linear-gradient(90deg,#D7A91D,#FFE875)}
#tutor-member-experience .tutor-race-robo .tutor-race-fill{background:linear-gradient(90deg,#2A8FA5,#74D4D1)}
#tutor-member-experience .tutor-race-score{align-items:baseline;display:flex;font-size:14px;font-weight:950;gap:3px;height:100%;justify-content:flex-end;letter-spacing:.02em;padding:0 9px;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.62);z-index:2}
#tutor-member-experience .tutor-race-score small{font-size:8px;font-weight:900;letter-spacing:.08em}
#tutor-member-experience .tutor-robo-commentary{align-items:center;display:flex;font-size:11px;font-weight:850;height:22px;line-height:1.15;margin:5px 1px -3px;min-width:0;overflow:hidden;position:relative}
#tutor-member-experience .tutor-robo-flavor-cycle{display:block;height:100%;position:relative;width:100%}
#tutor-member-experience .tutor-robo-flavor-cycle>span{animation:tutor-robo-flavor-cycle 7.2s linear infinite;left:0;opacity:0;overflow:hidden;position:absolute;right:0;text-overflow:ellipsis;top:4px;white-space:nowrap}
#tutor-member-experience .tutor-robo-flavor-cycle>span:nth-child(2){animation-delay:2.4s}
#tutor-member-experience .tutor-robo-flavor-cycle>span:nth-child(3){animation-delay:4.8s}
#tutor-member-experience .tutor-robo-flavor.is-momentum{color:#FFE47A!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tutor-member-experience .tutor-robo-performance-line{animation:tutor-robo-performance-beat 2.05s ease both;color:#FFFFFF!important;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tutor-member-experience .tutor-robo-finish-line{color:#FFE47A!important;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tutor-member-experience .tutor-robo-dots{align-items:center;display:none;gap:2px;height:10px;margin-left:auto}
#tutor-member-experience .tutor-robo-race-strip.is-thinking .tutor-robo-dots{display:inline-flex}
#tutor-member-experience .tutor-robo-dots i{animation:tutor-robo-think .9s ease-in-out infinite;background:currentColor;border-radius:50%;height:4px;opacity:.35;width:4px}
#tutor-member-experience .tutor-robo-dots i:nth-child(2){animation-delay:.15s}
#tutor-member-experience .tutor-robo-dots i:nth-child(3){animation-delay:.3s}
#tutor-member-experience .tutor-robo-burst{animation:tutor-robo-burst .68s ease both;font-size:17px;margin-left:auto;transform-origin:center}
#tutor-member-experience .tutor-race-crown{font-size:16px;line-height:1;margin-right:1px}
#tutor-member-experience .tutor-robo-race-strip.is-student-leading .tutor-race-student,#tutor-member-experience .tutor-robo-race-strip.is-robo-leading .tutor-race-robo{border-color:rgba(255,228,122,.86);box-shadow:0 0 0 2px rgba(255,228,122,.14),0 5px 18px rgba(255,215,0,.16)}
#tutor-member-experience .tutor-robo-race-strip.is-hit .tutor-robo-avatar{animation:tutor-robo-avatar-bounce .58s cubic-bezier(.2,.9,.25,1.35)}
#tutor-member-experience .tutor-robo-race-strip.is-hit .tutor-race-robo .tutor-race-fill{animation:tutor-robo-bar-pop .58s cubic-bezier(.2,.9,.25,1.25)}
#tutor-member-experience .tutor-robo-race-strip.is-miss .tutor-robo-avatar{animation:tutor-robo-avatar-wobble .72s ease}
#tutor-member-experience .tutor-robo-race-strip.is-miss .tutor-race-robo .tutor-race-track{animation:tutor-robo-track-shudder .62s ease}
#tutor-member-experience .tutor-robo-race-strip.is-final{border-color:#FFD700;box-shadow:0 9px 0 rgba(7,24,63,.2),inset 0 0 0 1px rgba(255,232,122,.28)}
@keyframes tutor-robo-think{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes tutor-robo-flavor-cycle{0%,8%{opacity:0;transform:translateY(4px)}12%,28%{opacity:1;transform:translateY(0)}32%,100%{opacity:0;transform:translateY(-3px)}}
@keyframes tutor-robo-performance-beat{0%{opacity:0;transform:translateY(5px) scale(.96)}12%,76%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-3px) scale(.99)}}
@keyframes tutor-robo-avatar-bounce{0%,100%{transform:translateY(0) scale(1)}38%{transform:translateY(-7px) scale(1.12)}68%{transform:translateY(1px) scale(.97)}}
@keyframes tutor-robo-avatar-wobble{0%,100%{transform:rotate(0) translateX(0)}20%{transform:rotate(-13deg) translateX(-2px)}42%{transform:rotate(12deg) translateX(3px)}64%{transform:rotate(-8deg) translateX(-2px)}82%{transform:rotate(5deg) translateX(1px)}}
@keyframes tutor-robo-track-shudder{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes tutor-robo-bar-pop{0%,100%{filter:brightness(1);transform:scaleX(var(--tutor-race-progress)) scaleY(1)}55%{filter:brightness(1.18);transform:scaleX(var(--tutor-race-progress)) scaleY(1.24)}}
@keyframes tutor-robo-burst{0%{opacity:0;transform:scale(.45) rotate(-15deg)}45%{opacity:1;transform:scale(1.22) rotate(7deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:760px){
  #tutor-member-experience .tutor-robo-toggle{font-size:13px;min-height:52px;width:100%}
  #tutor-member-experience .tutor-race-lanes{gap:8px;grid-template-columns:minmax(0,1fr)}
  #tutor-member-experience .tutor-robo-race-strip{border-radius:14px;margin-bottom:12px;padding:9px 9px 10px}
  #tutor-member-experience .tutor-race-lane{padding:7px 8px 8px}
  #tutor-member-experience .tutor-race-track{height:25px}
  #tutor-member-experience .tutor-robo-commentary{font-size:10px;height:20px;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
  #tutor-member-experience .tutor-robo-toggle-track,#tutor-member-experience .tutor-robo-toggle-track span,#tutor-member-experience .tutor-robo-race-strip *,#tutor-member-experience .tutor-robo-race-strip{animation:none!important;transition:none!important}
  #tutor-member-experience .tutor-robo-dots i{opacity:.72;transform:none!important}
  #tutor-member-experience .tutor-robo-flavor-cycle>span{display:none;opacity:1;position:static;transform:none!important}
  #tutor-member-experience .tutor-robo-flavor-cycle>span:first-child{display:block}
  #tutor-member-experience .tutor-robo-performance-line{opacity:1;transform:none!important}
}
@media print{
  #tutor-member-experience .tutor-robo-toggle,#tutor-member-experience .tutor-robo-race-strip{display:none!important}
}

/* Viewport-fit refinement: natural page scrolling, compact stages, and an explicit more-below cue. */
#tutor-member-experience .tutor-board-panel{
  height:auto;
  min-height:0;
  overflow:visible;
}
#tutor-member-experience .tutor-board-stage{
  height:auto;
  min-height:0;
  overflow:visible;
  padding:10px;
}
#tutor-member-experience .tutor-phase-list{
  flex:none;
  margin-top:6px;
  overflow:visible;
  padding:1px 2px 3px;
}
#tutor-member-experience .tutor-game-hud{gap:5px;padding:6px 11px}
#tutor-member-experience .tutor-board-kicker{font-size:8px}
#tutor-member-experience .tutor-board-title{font-size:clamp(23px,2.6vw,31px)}
#tutor-member-experience .tutor-stage-round-row{gap:8px}
#tutor-member-experience .tutor-score-chip{min-height:44px;padding:5px 10px}
#tutor-member-experience .tutor-board-welcome{font-size:11px;line-height:1.3}
#tutor-member-experience .tutor-spotlight{gap:9px;grid-template-columns:76px minmax(0,1fr);margin-bottom:7px;padding:7px}
#tutor-member-experience .tutor-spotlight-image{height:76px;width:76px}
#tutor-member-experience .tutor-stage-round{scroll-margin-top:82px}
#tutor-member-experience .tutor-stage-round .tutor-phase-banner{padding:5px 10px}
#tutor-member-experience .tutor-stage-round .tutor-phase-heading h4{font-size:16px}
#tutor-member-experience .tutor-stage-round .tutor-round-points{padding:5px 8px}
#tutor-member-experience .tutor-stage-round .tutor-round-body{padding:5px 9px 8px}
#tutor-member-experience .tutor-stage-round .tutor-round-setup{font-size:12.5px;line-height:1.35;margin-bottom:5px}
#tutor-member-experience .tutor-stage-round .tutor-phase-visual{margin:0 auto 5px;max-width:224px}
#tutor-member-experience .tutor-stage-round .tutor-visual{max-height:148px}
#tutor-member-experience .tutor-stage-round .tutor-visual-readout{margin-top:4px}
#tutor-member-experience .tutor-stage-round .tutor-challenge{font-size:13.5px;line-height:1.3;padding:6px 9px}
#tutor-member-experience .tutor-stage-round .tutor-answer-grid{gap:6px;margin-top:6px}
#tutor-member-experience .tutor-stage-round .tutor-answer-choice{min-height:44px;padding:5px 8px}
#tutor-member-experience .tutor-stage-round .tutor-answer-letter{height:28px;width:28px}
#tutor-member-experience .tutor-next-round{min-height:44px}
#tutor-member-experience .tutor-robo-race-strip{margin-bottom:7px;padding:7px 8px 8px}
#tutor-member-experience .tutor-race-lane{padding:6px 7px}
#tutor-member-experience .tutor-race-track{height:23px}
#tutor-member-experience .tutor-robo-commentary{height:18px;margin-top:3px}
#tutor-member-experience .tutor-drill-stage{padding:clamp(15px,2.4vw,24px)}
#tutor-member-experience .tutor-drill-call{margin-top:12px;min-height:70px}
#tutor-member-experience .tutor-drill-choices{gap:8px;margin-top:10px}
#tutor-member-experience .tutor-final-reveal{padding:24px 18px}
#tutor-member-experience .tutor-more-below-cue{
  bottom:0;
  height:88px;
  left:var(--tutor-cue-left,0px);
  opacity:0;
  pointer-events:none;
  position:fixed;
  right:var(--tutor-cue-right,0px);
  transition:opacity .18s ease;
  visibility:hidden;
  z-index:10010;
}
#tutor-member-experience .tutor-more-below-cue.is-visible{opacity:1;visibility:visible}
#tutor-member-experience .tutor-more-below-fade{
  background:linear-gradient(180deg,rgba(12,23,54,0),rgba(12,23,54,.72) 72%,rgba(12,23,54,.9));
  inset:0;
  pointer-events:none;
  position:absolute;
}
#tutor-member-experience .tutor-more-below-button{
  align-items:center;
  animation:tutor-more-below-bob 1.7s ease-in-out infinite;
  background:#FFF9E8;
  border:2px solid #FFD700;
  border-radius:999px;
  bottom:max(10px,env(safe-area-inset-bottom));
  box-shadow:0 5px 16px rgba(7,24,63,.3);
  color:#1B2D6B;
  cursor:pointer;
  display:flex;
  font-family:inherit;
  font-size:25px;
  font-weight:950;
  height:44px;
  justify-content:center;
  left:50%;
  line-height:1;
  min-height:44px;
  min-width:52px;
  padding:0 14px 5px;
  pointer-events:auto;
  position:absolute;
  transform:translateX(-50%);
}
#tutor-member-experience .tutor-more-below-button:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
@keyframes tutor-more-below-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(4px)}}
@media(max-width:760px){
  #tutor-member-experience{padding-bottom:40px;padding-top:42px}
  #tutor-member-experience .tutor-board-panel{height:auto;min-height:0}
  #tutor-member-experience .tutor-board-stage{height:auto;min-height:0;padding:7px}
  #tutor-member-experience .tutor-game-hud{padding:5px 9px}
  #tutor-member-experience .tutor-board-title{font-size:24px;padding-right:34px}
  #tutor-member-experience .tutor-stage-round .tutor-phase-visual{max-width:190px}
  #tutor-member-experience .tutor-stage-round .tutor-visual{max-height:128px}
  #tutor-member-experience .tutor-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tutor-member-experience .tutor-stage-round .tutor-answer-choice{font-size:12.5px;grid-template-columns:28px minmax(0,1fr) auto;min-height:44px;padding:5px 6px}
  #tutor-member-experience .tutor-race-lanes{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}
  #tutor-member-experience .tutor-robo-race-strip{border-radius:12px;margin-bottom:6px;padding:6px}
  #tutor-member-experience .tutor-race-label{font-size:9px}
  #tutor-member-experience .tutor-robo-commentary{font-size:9px}
  #tutor-member-experience .tutor-drill-stage{margin-left:-3px;padding:13px 9px;width:calc(100% + 6px)}
  #tutor-member-experience .tutor-drill-call{font-size:24px;margin-top:10px;min-height:60px}
  #tutor-member-experience .tutor-drill-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tutor-member-experience .tutor-drill-choice,#tutor-member-experience .tutor-drill-choice.is-anchor{min-height:52px;padding:9px 34px 9px 9px}
}
@media(max-height:800px){
  #tutor-member-experience .tutor-stage-round .tutor-phase-visual{max-width:190px}
  #tutor-member-experience .tutor-stage-round .tutor-visual{max-height:122px}
  #tutor-member-experience .tutor-spotlight{grid-template-columns:64px minmax(0,1fr)}
  #tutor-member-experience .tutor-spotlight-image{height:64px;width:64px}
}
@media(max-height:700px){
  #tutor-member-experience .tutor-game-hud{gap:3px;padding-bottom:4px;padding-top:4px}
  #tutor-member-experience .tutor-board-kicker{font-size:7px}
  #tutor-member-experience .tutor-board-title{font-size:22px}
  #tutor-member-experience .tutor-board-welcome{font-size:10.5px}
  #tutor-member-experience .tutor-stage-round .tutor-phase-visual{max-width:158px}
  #tutor-member-experience .tutor-stage-round .tutor-visual{max-height:98px}
  #tutor-member-experience .tutor-stage-round .tutor-round-setup{margin-bottom:3px}
  #tutor-member-experience .tutor-stage-round .tutor-challenge{padding-bottom:5px;padding-top:5px}
}
/* Counting-piece tap targets on the object grid. The hit shapes are sized in viewBox units, so
   they shrank with the compacted visual: 40.32px at 1440x900 and 28.43px at 375x667, under the
   44px minimum every other board control already meets. The grid gets its own, wider box so the
   whole thing scales up, and the hit rect drops the shared 18-unit transparent stroke that used
   to spill each target 9 units into its neighbours. Scoped to the object grid only, so the
   fraction bar, fraction circle, number line and classic groups keep the compaction pass's
   dimensions unchanged; screen only, so print output is untouched. */
.tutor-visual-object-grid .tutor-visual-hit-target{stroke-width:0}
@media screen{
  #tutor-member-experience .tutor-stage-round .tutor-phase-visual[data-visual-presentation="object-grid"]{max-width:240px}
  #tutor-member-experience .tutor-stage-round .tutor-visual-object-grid{max-height:144px}
}
/* On a 667px-tall phone the wider box would push the answered round — visual plus explanation plus
   NEXT — past the usable viewport, and the fit comes first. Here the grid keeps the shipped block
   height and takes only what the trimmed padding and the removed stroke halo give back: 33.25px
   typical and 30.78px dense, up from 30.55px and 28.44px, still short of 44px. */
@media screen and (max-height:700px){
  #tutor-member-experience .tutor-stage-round .tutor-phase-visual[data-visual-presentation="object-grid"]{max-width:175px}
  #tutor-member-experience .tutor-stage-round .tutor-visual-object-grid{max-height:95px}
}
@media(prefers-reduced-motion:reduce){
  #tutor-member-experience .tutor-more-below-cue{transition:none}
  #tutor-member-experience .tutor-more-below-button{animation:none}
}
@media print{
  #tutor-member-experience .tutor-more-below-cue{display:none!important}
  #tutor-member-experience .tutor-board-panel,#tutor-member-experience .tutor-board-stage,#tutor-member-experience .tutor-phase-list{overflow:visible!important}
}

/* ==========================================================================================
   STUDY MODE — the 📖 board-chrome control and its popup mini-lesson.
   Additive only: nothing above this block is altered.
   ========================================================================================== */
/* The header chrome tier: the GAME BOARD kicker on the leading edge, the 📖 STUDY MODE pill on the
   trailing edge, and padding-right reserved for the flag control that sits in the HUD's top corner.
   Everything here is in normal flow — the trigger never overlays the board. */
#tutor-member-experience .tutor-board-chrome-row{
  align-items:center;
  display:flex;
  flex:0 0 auto;
  gap:10px;
  justify-content:space-between;
  min-height:44px;
  padding-right:48px;
  position:static;
  width:100%;
}
#tutor-member-experience .tutor-board-chrome-row .tutor-board-kicker{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tutor-member-experience .tutor-study-control{
  align-items:center;
  background:#0C1736!important;
  border:2px solid #FFD700!important;
  border-radius:999px;
  box-shadow:none!important;
  color:#FFD700!important;
  cursor:pointer;
  display:inline-flex;
  flex:0 0 auto;
  font-family:inherit;
  font-size:10px;
  font-weight:900;
  gap:7px;
  justify-content:center;
  letter-spacing:.09em;
  line-height:1;
  margin:0;
  min-height:44px;
  min-width:44px;
  padding:10px 14px;
  position:static;
  transition:background .16s ease,transform .16s ease,border-color .16s ease;
}
#tutor-member-experience .tutor-study-control:hover,#tutor-member-experience .tutor-study-control:focus-visible{background:#16255A!important;border-color:#FFE47A!important;transform:translateY(-1px)}
#tutor-member-experience .tutor-study-control:active{background:#08102A!important;border-color:#FFD700!important;transform:translateY(0)}
#tutor-member-experience .tutor-study-control:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
#tutor-member-experience .tutor-study-control-icon{font-size:15px;line-height:1}
#tutor-member-experience .tutor-study-control-text{white-space:nowrap}
#tutor-member-experience .tutor-game-hud.has-study-control .tutor-board-title{padding-right:0}
#tutor-member-experience .tutor-study-overlay{
  align-items:center;
  background:rgba(12,23,54,.78);
  display:flex;
  inset:0;
  justify-content:center;
  padding:24px;
  position:fixed;
  z-index:10030;
}
#tutor-member-experience .tutor-study-card{
  background:#FFFDF4;
  border:3px solid #FFD700;
  border-radius:22px;
  box-shadow:0 24px 80px rgba(7,15,40,.42),0 8px 0 rgba(12,23,54,.28);
  color:#1B2D6B;
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 32px);
  max-width:660px;
  min-height:0;
  overflow:hidden;
  position:relative;
  width:100%;
}
#tutor-member-experience .tutor-study-head{
  background:#1B2D6B;
  border-bottom:2px solid #FFD700;
  flex:0 0 auto;
  padding:16px 56px 14px 22px;
  position:relative;
}
#tutor-member-experience .tutor-study-card[dir="rtl"] .tutor-study-head{padding:16px 22px 14px 56px}
#tutor-member-experience .tutor-study-kicker{color:#FFD700!important;display:block;font-size:9px;font-weight:900;letter-spacing:.16em;line-height:1.2;margin-bottom:4px}
#tutor-member-experience .tutor-study-title{
  color:#FFFFFF!important;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:clamp(23px,3vw,31px);
  font-weight:400;
  letter-spacing:.025em;
  line-height:1.05;
  margin:0;
}
#tutor-member-experience .tutor-study-meta{color:#E8C56B!important;font-size:11px;font-weight:800;letter-spacing:.06em;margin:5px 0 0}
/* The popup's corner close control. The app's blanket button rule
   (#start .btn.p,#tutor-member-experience button{background:#FFD700!important;color:#1B2D6B!important;border-color:#FFD700!important})
   outranks any unflagged declaration here, so an unflagged `background:transparent` was repainted
   gold while the flagged `color:#FFD700!important` held — a gold ✕ on a gold field, invisible.
   Every field, border, and glyph declaration below is therefore flagged so the control keeps the
   same quiet-control treatment the STUDY MODE trigger pill now uses: navy field, 2px gold border,
   gold glyph, no heavy shadow, pill radius, 44px target. */
#tutor-member-experience .tutor-study-close{
  align-items:center;
  background:#0C1736!important;
  border:2px solid #FFD700!important;
  border-radius:999px!important;
  box-shadow:none!important;
  color:#FFD700!important;
  cursor:pointer;
  display:inline-flex;
  font-family:inherit;
  font-size:20px!important;
  font-weight:900!important;
  justify-content:center;
  line-height:1;
  margin:0;
  min-height:44px;
  min-width:44px;
  padding:10px;
  position:absolute;
  right:6px;
  top:6px;
  transition:background .16s ease,transform .16s ease,border-color .16s ease;
}
#tutor-member-experience .tutor-study-card[dir="rtl"] .tutor-study-close{left:6px;right:auto}
#tutor-member-experience .tutor-study-close:hover,#tutor-member-experience .tutor-study-close:focus-visible{background:#16255A!important;border-color:#FFE47A!important;color:#FFE47A!important;transform:translateY(-1px)}
#tutor-member-experience .tutor-study-close:active{background:#08102A!important;border-color:#FFD700!important;color:#FFD700!important;transform:translateY(0)}
#tutor-member-experience .tutor-study-close:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
#tutor-member-experience .tutor-study-languages{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
/* Same blanket-rule defect, second instance: the unflagged translucent field was repainted gold
   while the flagged cream label held, so an UNSELECTED chip rendered #FFF9E8 on #FFD700 — two tones
   of the same colour, unreadable. Field, border, and label are all flagged now. The selected chip
   keeps its gold field with navy text, which was already legible, but is flagged too so the two
   states stay distinguishable. */
#tutor-member-experience .tutor-study-language-chip{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,215,0,.5)!important;
  border-radius:999px;
  box-shadow:none!important;
  color:#FFF9E8!important;
  cursor:pointer;
  font-family:inherit;
  font-size:12px;
  font-weight:800;
  min-height:44px;
  padding:9px 15px;
  transition:background .16s ease,color .16s ease;
}
#tutor-member-experience .tutor-study-language-chip:hover{background:rgba(255,255,255,.18)!important;border-color:#FFE47A!important}
#tutor-member-experience .tutor-study-language-chip.is-selected{background:#FFD700!important;border-color:#FFD700!important;color:#14224D!important}
#tutor-member-experience .tutor-study-language-chip:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
#tutor-member-experience .tutor-study-body{
  -webkit-overflow-scrolling:touch;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding:16px 20px;
}
#tutor-member-experience .tutor-study-sections{display:flex;flex-direction:column;gap:12px}
#tutor-member-experience .tutor-study-section{
  background:#FFFFFF;
  border:1px solid rgba(27,45,107,.12);
  border-left:5px solid #FFD700;
  border-radius:12px;
  padding:12px 14px;
}
#tutor-member-experience .tutor-study-card[dir="rtl"] .tutor-study-section{border-left:1px solid rgba(27,45,107,.12);border-right:5px solid #FFD700}
#tutor-member-experience .tutor-study-section-head{align-items:center;display:flex;gap:10px;justify-content:space-between}
#tutor-member-experience .tutor-study-section-heading{color:#1B2D6B!important;font-size:15px;font-weight:900;letter-spacing:.02em;line-height:1.2;margin:0}
#tutor-member-experience .tutor-study-section-body{color:#34405F!important;font-size:14.5px;line-height:1.5;margin:7px 0 0}
/* Same blanket-rule defect, third instance. The unflagged cream field was repainted gold on every
   state, so idle, hover, playing, and error all rendered as one identical gold pill — the button
   still read (navy glyph on gold) but stopped reporting what it was doing, and the error state lost
   both its white field and its orange border. Flagging the field and border restores the states. */
#tutor-member-experience .tutor-study-speak{
  align-items:center;
  background:#FFF9E8!important;
  border:2px solid #FFD700!important;
  border-radius:999px;
  box-shadow:none!important;
  color:#1B2D6B!important;
  cursor:pointer;
  display:inline-flex;
  flex:0 0 auto;
  font-size:14px;
  justify-content:center;
  line-height:1;
  min-height:44px;
  min-width:44px;
  padding:10px;
  transition:background .16s ease,transform .16s ease;
}
#tutor-member-experience .tutor-study-speak:hover,#tutor-member-experience .tutor-study-speak:focus-visible{background:#FFF3C9!important;transform:translateY(-1px)}
#tutor-member-experience .tutor-study-speak:focus-visible{outline:3px solid #1B2D6B;outline-offset:2px}
#tutor-member-experience .tutor-study-speak.is-playing{background:#FFD700!important}
#tutor-member-experience .tutor-study-speak.is-error{background:#FFFFFF!important;border-color:#C2410C!important;color:#C2410C!important}
#tutor-member-experience .tutor-study-speak[disabled]{cursor:default;opacity:.7}
#tutor-member-experience .tutor-study-loading{align-items:center;color:#34405F!important;display:flex;font-size:13.5px;font-weight:700;gap:10px;justify-content:center;padding:26px 8px}
#tutor-member-experience .tutor-study-spinner{display:inline-flex;gap:4px}
#tutor-member-experience .tutor-study-spinner i{
  animation:tutor-study-pulse 1s ease-in-out infinite;
  background:#FFD700;
  border-radius:50%;
  display:block;
  height:7px;
  width:7px;
}
#tutor-member-experience .tutor-study-spinner i:nth-child(2){animation-delay:.15s}
#tutor-member-experience .tutor-study-spinner i:nth-child(3){animation-delay:.3s}
@keyframes tutor-study-pulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
#tutor-member-experience .tutor-study-empty{color:#34405F!important;font-size:14.5px;line-height:1.5;margin:0;padding:26px 8px;text-align:center}
#tutor-member-experience .tutor-study-actions{
  background:#FFFDF4;
  border-top:1px solid rgba(27,45,107,.12);
  display:flex;
  flex:0 0 auto;
  justify-content:center;
  padding:13px 20px;
}
#tutor-member-experience .tutor-study-back{min-height:48px;padding:12px 24px;width:100%}
@media(max-width:760px){
  #tutor-member-experience .tutor-board-chrome-row{gap:8px;padding-right:46px}
  #tutor-member-experience .tutor-study-control{font-size:9px;gap:6px;letter-spacing:.07em;padding:10px 12px}
  #tutor-member-experience .tutor-study-control-icon{font-size:14px}
  #tutor-member-experience .tutor-game-hud.has-study-control .tutor-board-title{padding-right:0}
  #tutor-member-experience .tutor-study-overlay{align-items:flex-end;padding:10px}
  #tutor-member-experience .tutor-study-card{border-radius:20px 20px 14px 14px;max-height:calc(100vh - 20px)}
  #tutor-member-experience .tutor-study-head{padding:14px 52px 12px 16px}
  #tutor-member-experience .tutor-study-card[dir="rtl"] .tutor-study-head{padding:14px 16px 12px 52px}
  #tutor-member-experience .tutor-study-body{padding:13px 14px}
  #tutor-member-experience .tutor-study-section-body{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  #tutor-member-experience .tutor-study-control,#tutor-member-experience .tutor-study-language-chip,#tutor-member-experience .tutor-study-speak,#tutor-member-experience .tutor-study-close{transition:none}
  #tutor-member-experience .tutor-study-control:hover,#tutor-member-experience .tutor-study-control:focus-visible,#tutor-member-experience .tutor-study-control:active,#tutor-member-experience .tutor-study-speak:hover,#tutor-member-experience .tutor-study-speak:focus-visible,#tutor-member-experience .tutor-study-close:hover,#tutor-member-experience .tutor-study-close:focus-visible,#tutor-member-experience .tutor-study-close:active{transform:none}
  #tutor-member-experience .tutor-study-spinner i{animation:none;opacity:.75;transform:none}
}
@media print{
  #tutor-member-experience .tutor-study-control,#tutor-member-experience .tutor-study-mount,#tutor-member-experience .tutor-study-overlay{display:none!important}
}

/* ============================================================================
   ACTIVE-ROUND VIEWPORT FIT — compaction pass 3 (2026-08-06)
   ----------------------------------------------------------------------------
   The earlier compaction measurements predate the Robo race strip and the
   Study Mode pill, so the stacked board block (HUD + race strip + round)
   overflowed the usable viewport by a small amount on 1366x768, 375x812 and
   375x667. Everything below is additive and reclaims vertical whitespace only:
     - no font size in the round drops below the existing 12.5px floor
     - .tutor-answer-choice / .tutor-next-round / .tutor-study-control and every
       other interactive target stay at min-height:44px (never touched here)
     - only non-interactive status readouts (.tutor-score-chip is a <div>,
       .tutor-visual-readout is an <output>) lose their oversized min-heights
     - wrapped in @media screen so print output is provably unchanged
   ========================================================================== */
@media screen {
  /* (1) padding / margin / gap between the round's blocks */
  #tutor-member-experience .tutor-game-hud{gap:4px}
  #tutor-member-experience .tutor-phase-list{margin-top:4px;padding-top:0}
  #tutor-member-experience .tutor-stage-round .tutor-phase-banner{padding-bottom:4px;padding-top:4px}
  #tutor-member-experience .tutor-stage-round .tutor-round-body{padding-bottom:6px;padding-top:4px}
  #tutor-member-experience .tutor-stage-round .tutor-round-setup{margin-bottom:4px}
  #tutor-member-experience .tutor-stage-round .tutor-phase-visual{margin-bottom:4px}
  #tutor-member-experience .tutor-stage-round .tutor-challenge{padding-bottom:5px;padding-top:5px}
  #tutor-member-experience .tutor-stage-round .tutor-challenge-label{margin-bottom:2px}
  /* (5) answer grid gutters only — choice min-height stays 44px */
  #tutor-member-experience .tutor-stage-round .tutor-answer-grid{gap:5px;margin-top:5px}
  #tutor-member-experience .tutor-stage-round .tutor-answer-explain{margin-top:5px;padding:7px 10px}

  /* (4) race strip + header chrome: slimmer bars, same information */
  #tutor-member-experience .tutor-robo-race-strip{margin-bottom:6px;padding:5px 8px 6px}
  #tutor-member-experience .tutor-race-title{margin-bottom:5px}
  #tutor-member-experience .tutor-race-lane{padding:4px 7px}
  #tutor-member-experience .tutor-race-label{margin-bottom:4px}
  #tutor-member-experience .tutor-race-track{height:20px}
  #tutor-member-experience .tutor-robo-commentary{height:16px;margin-top:2px}

  /* non-interactive readouts: shrink the box, keep the text */
  #tutor-member-experience .tutor-score-chip{min-height:36px}
  #tutor-member-experience .tutor-stage-round .tutor-visual-readout{margin-top:3px;min-height:38px;padding:5px 12px}
}

/* Short-viewport tier A — 812/800/768/667 tall screens */
@media screen and (max-height:860px){
  #tutor-member-experience .tutor-game-hud{gap:3px;padding-bottom:4px;padding-top:4px}
  #tutor-member-experience .tutor-board-welcome{line-height:1.25}
  #tutor-member-experience .tutor-phase-list{margin-top:3px}
  #tutor-member-experience .tutor-robo-race-strip{margin-bottom:5px;padding:4px 8px 5px}
  #tutor-member-experience .tutor-race-title{margin-bottom:4px}
  #tutor-member-experience .tutor-race-track{height:19px}
  #tutor-member-experience .tutor-score-chip{min-height:34px}
  #tutor-member-experience .tutor-stage-round .tutor-visual-readout{min-height:36px}
  /* (2) line-heights trimmed, still above 1.2 for comfortable reading */
  #tutor-member-experience .tutor-stage-round .tutor-round-setup{line-height:1.28}
}

/* Short-viewport tier B — 768/667 tall screens */
@media screen and (max-height:780px){
  #tutor-member-experience .tutor-board-title{font-size:clamp(21px,2.4vw,27px)}
  #tutor-member-experience .tutor-race-track{height:18px}
  #tutor-member-experience .tutor-race-score{font-size:13px}
  #tutor-member-experience .tutor-robo-commentary{height:15px}
  #tutor-member-experience .tutor-stage-round .tutor-challenge{line-height:1.25}
  /* (3) the object-grid visual is deliberately NOT scaled down here: its SVG
     counting hit-targets are already under 44px, so shrinking it would make an
     existing tap-target shortfall worse. Height is reclaimed from chrome. */
  #tutor-member-experience .tutor-robo-avatar{font-size:15px}
  #tutor-member-experience .tutor-race-crown{font-size:14px}
}

/* Short-viewport tier C — 667 tall screens */
@media screen and (max-height:700px){
  #tutor-member-experience .tutor-game-hud{gap:2px;padding-bottom:3px;padding-top:3px}
  #tutor-member-experience .tutor-board-title{font-size:20px}
  #tutor-member-experience .tutor-board-welcome{line-height:1.22}
  #tutor-member-experience .tutor-progress-segment{height:4px}
  #tutor-member-experience .tutor-phase-list{margin-top:2px}
  #tutor-member-experience .tutor-score-chip{min-height:32px;padding:4px 10px}
  #tutor-member-experience .tutor-robo-race-strip{margin-bottom:4px;padding:4px 7px}
  #tutor-member-experience .tutor-race-title{margin-bottom:3px}
  #tutor-member-experience .tutor-race-lane{padding:3px 6px}
  #tutor-member-experience .tutor-race-label{margin-bottom:3px}
  #tutor-member-experience .tutor-robo-commentary{height:14px}
  #tutor-member-experience .tutor-stage-round .tutor-phase-banner{padding-bottom:3px;padding-top:3px}
  #tutor-member-experience .tutor-stage-round .tutor-round-body{padding-bottom:5px;padding-top:3px}
  #tutor-member-experience .tutor-stage-round .tutor-round-setup{line-height:1.25;margin-bottom:3px}
  #tutor-member-experience .tutor-stage-round .tutor-phase-visual{margin-bottom:3px}
  #tutor-member-experience .tutor-stage-round .tutor-visual-readout{margin-top:2px;min-height:34px}
  #tutor-member-experience .tutor-stage-round .tutor-challenge{padding-bottom:4px;padding-top:4px}
  #tutor-member-experience .tutor-stage-round .tutor-challenge-label{margin-bottom:1px}
  #tutor-member-experience .tutor-stage-round .tutor-answer-grid{gap:4px;margin-top:4px}
  #tutor-member-experience .tutor-stage-round .tutor-round-body{padding-bottom:4px}
  #tutor-member-experience .tutor-phase-list{padding-bottom:0}
  #tutor-member-experience .tutor-board-welcome{line-height:1.16}
  #tutor-member-experience .tutor-score-chip{min-height:28px;padding:3px 10px}
  /* race lane bars slimmed; the avatar emoji, not the label text, sets lane height */
  #tutor-member-experience .tutor-robo-avatar{font-size:13px}
  #tutor-member-experience .tutor-race-crown{font-size:13px}
  #tutor-member-experience .tutor-race-label{margin-bottom:2px;min-height:16px}
  #tutor-member-experience .tutor-race-lane{padding:2px 6px 3px}
  #tutor-member-experience .tutor-race-track{height:17px}
  #tutor-member-experience .tutor-race-score{font-size:12px}
  #tutor-member-experience .tutor-robo-commentary{height:13px}
}

/* ============================================================================
   STORY MODE (2026-08-06) — the ▶ STORY pill and the narrated story stage.
   ----------------------------------------------------------------------------
   Additive only. Nothing here restyles an existing selector; the pill borrows
   the Study Mode pill's quiet navy-and-gold treatment and its 44px minimum
   target, and the stage lives inside .tutor-phase-list where the round view
   normally paints. Print hides both. Reduced motion keeps every state legible
   as a static: the coach's mouth simply rests open while speaking instead of
   animating, and beat/piece transitions resolve instantly.
   ========================================================================== */
#tutor-member-experience .tutor-story-control{
  align-items:center;
  background:#0C1736!important;
  border:2px solid #FFD700!important;
  border-radius:999px;
  box-shadow:none!important;
  color:#FFD700!important;
  cursor:pointer;
  display:inline-flex;
  flex:0 0 auto;
  font-family:inherit;
  font-size:10px;
  font-weight:900;
  gap:7px;
  justify-content:center;
  letter-spacing:.09em;
  line-height:1;
  margin:0;
  min-height:44px;
  min-width:44px;
  padding:10px 14px;
  position:static;
  transition:background .16s ease,transform .16s ease,border-color .16s ease;
}
#tutor-member-experience .tutor-story-control:hover,#tutor-member-experience .tutor-story-control:focus-visible{background:#16255A!important;border-color:#FFE47A!important;transform:translateY(-1px)}
#tutor-member-experience .tutor-story-control:active{background:#08102A!important;border-color:#FFD700!important;transform:translateY(0)}
#tutor-member-experience .tutor-story-control:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
#tutor-member-experience .tutor-story-control-icon{font-size:13px;line-height:1}
#tutor-member-experience .tutor-story-control-text{white-space:nowrap}
#tutor-member-experience .tutor-board-chrome-row .tutor-story-control{margin-inline-start:auto}
#tutor-member-experience .tutor-board-chrome-row .tutor-story-control + .tutor-study-control{margin-inline-start:0}

#tutor-member-experience .tutor-story-stage{
  align-items:center;
  background:linear-gradient(180deg,#0C1736 0%,#08102A 100%);
  border:2px solid rgba(255,215,0,.42);
  border-radius:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px 16px 14px;
  width:100%;
}
#tutor-member-experience .tutor-story-top{
  align-items:center;
  display:flex;
  gap:14px;
  justify-content:center;
  width:100%;
}
#tutor-member-experience .tutor-story-coach{flex:0 0 auto;height:92px;width:92px}
#tutor-member-experience .tutor-story-coach-svg{height:100%;width:100%}
#tutor-member-experience .tutor-story-coach-halo{fill:rgba(255,215,0,.10)}
#tutor-member-experience .tutor-story-coach-face{fill:#12204C;stroke:#FFD700;stroke-width:3}
#tutor-member-experience .tutor-story-coach-cap{fill:#FFD700}
#tutor-member-experience .tutor-story-coach-brim{fill:#FFE47A}
#tutor-member-experience .tutor-story-coach-eye{fill:#FFD700}
#tutor-member-experience .tutor-story-coach-mouth{fill:#FFD700;transform-box:fill-box;transform-origin:center;transform:scaleY(.28)}
#tutor-member-experience .tutor-story-coach.is-speaking .tutor-story-coach-mouth{animation:tutorStoryTalk .32s ease-in-out infinite alternate}
@keyframes tutorStoryTalk{from{transform:scaleY(.28)}to{transform:scaleY(1.15)}}

#tutor-member-experience .tutor-story-visual-slot{flex:1 1 auto;max-width:330px;min-width:0}
#tutor-member-experience .tutor-story-visual-slot:empty{display:none}
/* The copy sits in the story stage, not inside .tutor-stage-round, so the round-scoped sizing at
   the top of this file never reaches it and the same picture drew wider than it does on the board.
   Matching the round's own max-width here makes the copy the board's size as well as its colour. */
#tutor-member-experience .tutor-story-visual{margin:0 auto;max-width:248px;pointer-events:none}
/* Progressive fill: pieces light as the beats advance. Kept to one vocabulary in this run. */
#tutor-member-experience .tutor-story-visual .tutor-visual-piece,
#tutor-member-experience .tutor-story-visual .tutor-visual-tick-control{opacity:.28;transition:opacity .28s ease}
#tutor-member-experience .tutor-story-visual .tutor-visual-piece.is-story-lit,
#tutor-member-experience .tutor-story-visual .tutor-visual-tick-control.is-story-lit{opacity:1}

#tutor-member-experience .tutor-story-caption{
  color:#FFFFFF;
  font-size:19px;
  font-weight:700;
  line-height:1.4;
  margin:0;
  max-width:44ch;
  text-align:center;
  text-wrap:balance;
}
#tutor-member-experience .tutor-story-progress{align-items:center;display:flex;gap:6px;justify-content:center}
#tutor-member-experience .tutor-story-dot{background:rgba(255,215,0,.26);border-radius:999px;height:7px;transition:background .2s ease,width .2s ease;width:7px}
#tutor-member-experience .tutor-story-dot.is-done{background:rgba(255,215,0,.62)}
#tutor-member-experience .tutor-story-dot.is-current{background:#FFD700;width:18px}
#tutor-member-experience .tutor-story-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
#tutor-member-experience .tutor-story-button,#tutor-member-experience .tutor-story-skip{
  align-items:center;
  background:#0C1736;
  border:2px solid #FFD700;
  border-radius:999px;
  color:#FFD700;
  cursor:pointer;
  display:inline-flex;
  font-family:inherit;
  font-size:14px;
  font-weight:900;
  justify-content:center;
  letter-spacing:.09em;
  line-height:1;
  min-height:44px;
  min-width:44px;
  padding:10px 14px;
  transition:background .16s ease,border-color .16s ease;
}
#tutor-member-experience .tutor-story-skip{font-size:10px}
#tutor-member-experience .tutor-story-button:hover,#tutor-member-experience .tutor-story-button:focus-visible,#tutor-member-experience .tutor-story-skip:hover,#tutor-member-experience .tutor-story-skip:focus-visible{background:#16255A;border-color:#FFE47A}
#tutor-member-experience .tutor-story-button:focus-visible,#tutor-member-experience .tutor-story-skip:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
#tutor-member-experience .tutor-story-retry{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:999px;background:none;color:#FFD700;font-size:15px;line-height:1;opacity:.8;cursor:pointer}
#tutor-member-experience .tutor-story-retry:hover{opacity:1}
#tutor-member-experience .tutor-story-retry:focus-visible{outline:3px solid #FFD700;outline-offset:2px}
#tutor-member-experience .tutor-story-retry[hidden]{display:none}

@media(max-width:760px){
  #tutor-member-experience .tutor-story-control{font-size:9px;gap:6px;letter-spacing:.07em;padding:10px 12px}
  #tutor-member-experience .tutor-story-control-icon{font-size:12px}
  #tutor-member-experience .tutor-story-stage{gap:10px;padding:13px 12px 12px}
  #tutor-member-experience .tutor-story-top{gap:10px}
  #tutor-member-experience .tutor-story-coach{height:64px;width:64px}
  #tutor-member-experience .tutor-story-caption{font-size:16px;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  #tutor-member-experience .tutor-story-control,#tutor-member-experience .tutor-story-button,#tutor-member-experience .tutor-story-skip,#tutor-member-experience .tutor-story-dot,#tutor-member-experience .tutor-story-visual .tutor-visual-piece,#tutor-member-experience .tutor-story-visual .tutor-visual-tick-control{transition:none}
  #tutor-member-experience .tutor-story-control:hover,#tutor-member-experience .tutor-story-control:focus-visible,#tutor-member-experience .tutor-story-control:active{transform:none}
  /* The mouth stops animating and simply rests open while the coach is speaking. */
  #tutor-member-experience .tutor-story-coach.is-speaking .tutor-story-coach-mouth{animation:none;transform:scaleY(1)}
}
@media print{
  #tutor-member-experience .tutor-story-control,#tutor-member-experience .tutor-story-stage{display:none!important}
}

/* ============================================================================
   STORY MODE — VISUAL BEATS AND STAGE POLISH (2026-08-06, run 2)
   ----------------------------------------------------------------------------
   The animation vocabulary the story draws from, and nothing else. Five cues,
   each one owned by a data-story-cue value the page sets on the stage:
     count    pieces arrive one at a time, in rhythm, as a quantity is spoken
     group    one group of pieces lights while the narration names it
     equation numbers slide onto an equation line as they are said
     answer   the picture completes and lands with a gold pop
     figure   a slow Ken Burns pan across the spotlight photograph
     none     a plain caption — the deliberate, styled default
   Everything is scoped under .tutor-story-stage / .tutor-story-visual, so no
   round, print sheet or other stage is restyled. Reduced motion at the bottom
   of this block replaces every animation with its finished static state: the
   same pieces are lit, the same numbers are on the line, the same photograph
   is on screen, the same card closes the story — nothing is only in the motion.
   ========================================================================== */
#tutor-member-experience .tutor-story-stage{overflow:hidden;position:relative}
#tutor-member-experience .tutor-story-body{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:12px;
  position:relative;
  width:100%;
  z-index:1;
}

/* --- figure spotlight: the Ken Burns plate ------------------------------- */
/* The same photograph the round's spotlight card already loaded, sitting behind
   the caption at low opacity. Only the beat that names the figure activates it. */
#tutor-member-experience .tutor-story-figure{
  inset:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  position:absolute;
  transition:opacity .5s ease;
  z-index:0;
}
#tutor-member-experience .tutor-story-figure::after{
  background:linear-gradient(180deg,rgba(8,16,42,.62) 0%,rgba(8,16,42,.86) 100%);
  content:"";
  inset:0;
  position:absolute;
}
#tutor-member-experience .tutor-story-figure-image{
  display:block;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  transform-origin:50% 40%;
  width:100%;
}
#tutor-member-experience .tutor-story-figure.is-active{opacity:1}
#tutor-member-experience .tutor-story-figure.is-active .tutor-story-figure-image{animation:tutorStoryKenBurns 11s ease-in-out both}
@keyframes tutorStoryKenBurns{
  from{transform:scale(1.04) translate3d(-1.5%,1.5%,0)}
  to{transform:scale(1.22) translate3d(1.5%,-1.5%,0)}
}

/* --- count: pieces arriving one at a time -------------------------------- */
/* --tutor-story-step is written per piece by the page: 0ms for anything already
   lit, and a growing offset for each piece this beat newly counts, so the set
   fills in rhythm instead of all at once. */
#tutor-member-experience .tutor-story-visual .tutor-visual-piece,
#tutor-member-experience .tutor-story-visual .tutor-visual-tick-control{
  transition:opacity .28s ease var(--tutor-story-step,0ms);
}
#tutor-member-experience .tutor-story-visual .tutor-visual-piece.is-story-lit,
#tutor-member-experience .tutor-story-visual .tutor-visual-tick-control.is-story-lit{
  animation:tutorStoryPieceIn .42s cubic-bezier(.2,1.3,.5,1) var(--tutor-story-step,0ms) both;
  transform-box:fill-box;
  transform-origin:center;
}
@keyframes tutorStoryPieceIn{
  from{opacity:.28;transform:scale(.72)}
  60%{opacity:1;transform:scale(1.09)}
  to{opacity:1;transform:scale(1)}
}

/* --- group: one group lights while it is named --------------------------- */
#tutor-member-experience .tutor-story-visual .tutor-visual-piece.is-story-group{
  animation:tutorStoryGroupGlow 1.5s ease-in-out var(--tutor-story-step,0ms) 2 alternate;
  transform-box:fill-box;
  transform-origin:center;
}
@keyframes tutorStoryGroupGlow{
  from{filter:none;transform:scale(1)}
  to{filter:drop-shadow(0 0 5px rgba(255,215,0,.95));transform:scale(1.07)}
}

/* --- equation: numbers sliding onto the line ----------------------------- */
#tutor-member-experience .tutor-story-equation{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:center;
  min-height:0;
}
#tutor-member-experience .tutor-story-equation[hidden]{display:none}
#tutor-member-experience .tutor-story-equation-chip{
  animation:tutorStoryChipIn .46s cubic-bezier(.2,1.2,.4,1) var(--tutor-story-step,0ms) both;
  background:rgba(255,215,0,.14);
  border:2px solid #FFD700;
  border-radius:9px;
  color:#FFD700;
  font-size:18px;
  font-weight:900;
  line-height:1;
  min-width:34px;
  padding:6px 9px;
  text-align:center;
}
@keyframes tutorStoryChipIn{
  from{opacity:0;transform:translateY(14px) scale(.82)}
  to{opacity:1;transform:none}
}

/* --- answer: the picture completes and pops gold ------------------------- */
#tutor-member-experience .tutor-story-stage[data-story-cue="answer"] .tutor-story-visual-slot{
  animation:tutorStoryAnswerPop .72s cubic-bezier(.2,1.25,.45,1) both;
}
#tutor-member-experience .tutor-story-stage[data-story-cue="answer"] .tutor-story-caption{color:#FFD700}
@keyframes tutorStoryAnswerPop{
  0%{filter:none;transform:scale(1)}
  45%{filter:drop-shadow(0 0 14px rgba(255,215,0,.8));transform:scale(1.06)}
  100%{filter:drop-shadow(0 0 6px rgba(255,215,0,.45));transform:scale(1)}
}

/* --- coach: idle motion between beats, emphasis when one begins ---------- */
/* The idle sway lives on the wrapper and the per-beat emphasis on the SVG, so
   the two never contend for the same animation slot and the emphasis can be
   restarted beat after beat. */
#tutor-member-experience .tutor-story-coach{animation:tutorStoryIdle 4.6s ease-in-out infinite}
#tutor-member-experience .tutor-story-coach.is-beat-start .tutor-story-coach-svg{animation:tutorStoryBeatPop .52s cubic-bezier(.25,1.3,.5,1) both}
@keyframes tutorStoryIdle{
  0%{transform:translateY(0) rotate(0)}
  35%{transform:translateY(-3px) rotate(-1.1deg)}
  70%{transform:translateY(1px) rotate(.9deg)}
  100%{transform:translateY(0) rotate(0)}
}
@keyframes tutorStoryBeatPop{
  0%{transform:scale(1)}
  40%{transform:scale(1.09)}
  100%{transform:scale(1)}
}

/* --- caption: cross-fade between beats ----------------------------------- */
#tutor-member-experience .tutor-story-caption{transition:opacity .16s ease,transform .16s ease}
#tutor-member-experience .tutor-story-caption.is-fading{opacity:0;transform:translateY(5px)}

/* --- progress dots: filling smoothly ------------------------------------- */
/* --tutor-story-beat is the current beat's own audio length, so the dot fills at
   the pace of the sentence it stands for rather than on a fixed clock. */
#tutor-member-experience .tutor-story-dot{overflow:hidden;position:relative}
#tutor-member-experience .tutor-story-dot.is-current{background:rgba(255,215,0,.26)}
#tutor-member-experience .tutor-story-dot-fill{
  background:#FFD700;
  border-radius:999px;
  display:block;
  inset:0;
  position:absolute;
  transform:scaleX(0);
  transform-origin:left center;
}
#tutor-member-experience [dir="rtl"] .tutor-story-dot-fill{transform-origin:right center}
#tutor-member-experience .tutor-story-dot.is-done .tutor-story-dot-fill{transform:scaleX(1)}
#tutor-member-experience .tutor-story-dot.is-current .tutor-story-dot-fill{animation:tutorStoryDotFill var(--tutor-story-beat,2.6s) linear both}
@keyframes tutorStoryDotFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* --- the close: a brief "now you try it" moment -------------------------- */
/* An overlay rather than another row, so the card costs the stage no height and
   the viewport-fit work already shipped keeps holding. */
#tutor-member-experience .tutor-story-close{
  align-content:center;
  align-items:center;
  animation:tutorStoryCloseIn .34s cubic-bezier(.2,1.2,.4,1) both;
  background:linear-gradient(180deg,rgba(12,23,54,.94) 0%,rgba(8,16,42,.97) 100%);
  display:flex;
  flex-direction:column;
  gap:6px;
  inset:0;
  justify-content:center;
  padding:14px;
  pointer-events:none;
  position:absolute;
  text-align:center;
  z-index:2;
}
#tutor-member-experience .tutor-story-close[hidden]{display:none}
#tutor-member-experience .tutor-story-close-badge{font-size:26px;line-height:1}
#tutor-member-experience .tutor-story-close-title{color:#FFD700;font-size:24px;font-weight:900;line-height:1.2}
#tutor-member-experience .tutor-story-close-line{color:#FFFFFF;font-size:14px;font-weight:700;line-height:1.3}
@keyframes tutorStoryCloseIn{
  from{opacity:0;transform:scale(.96)}
  to{opacity:1;transform:none}
}

/* --- handing back: the round's answer grid, ready ------------------------ */
#tutor-member-experience .tutor-answer-grid.is-story-ready{animation:tutorStoryHandoff 1.15s ease-out 1}
@keyframes tutorStoryHandoff{
  0%{box-shadow:0 0 0 0 rgba(255,215,0,.55)}
  55%{box-shadow:0 0 0 7px rgba(255,215,0,0)}
  100%{box-shadow:0 0 0 0 rgba(255,215,0,0)}
}

/* --- mobile and short viewports: the stage keeps fitting ------------------ */
@media(max-width:760px){
  #tutor-member-experience .tutor-story-body{gap:10px}
  #tutor-member-experience .tutor-story-equation-chip{font-size:16px;min-width:30px;padding:5px 8px}
  #tutor-member-experience .tutor-story-close-badge{font-size:22px}
  #tutor-member-experience .tutor-story-close-title{font-size:20px}
  #tutor-member-experience .tutor-story-close-line{font-size:13px}
}
@media screen and (max-height:780px){
  #tutor-member-experience .tutor-story-stage{gap:8px;padding:11px 12px 10px}
  #tutor-member-experience .tutor-story-body{gap:8px}
  #tutor-member-experience .tutor-story-coach{height:58px;width:58px}
  #tutor-member-experience .tutor-story-caption{font-size:15px;line-height:1.32}
  #tutor-member-experience .tutor-story-visual-slot .tutor-visual{max-height:128px}
  #tutor-member-experience .tutor-story-equation-chip{font-size:15px;padding:4px 8px}
}

@media(prefers-reduced-motion:reduce){
  /* Every cue resolves to the state it would have ENDED in: the pieces are lit,
     the group is outlined, the chips are on the line, the answer is gold, the
     photograph is on screen and the close card is up. No information is carried
     by motion alone, and the audio flow is untouched. */
  #tutor-member-experience .tutor-story-figure,
  #tutor-member-experience .tutor-story-caption{transition:none}
  #tutor-member-experience .tutor-story-visual .tutor-visual-piece,
  #tutor-member-experience .tutor-story-visual .tutor-visual-tick-control{transition:none!important}
  #tutor-member-experience .tutor-story-figure.is-active .tutor-story-figure-image{animation:none;transform:scale(1)}
  #tutor-member-experience .tutor-story-visual .tutor-visual-piece.is-story-lit,
  #tutor-member-experience .tutor-story-visual .tutor-visual-tick-control.is-story-lit{animation:none;opacity:1;transform:none}
  #tutor-member-experience .tutor-story-visual .tutor-visual-piece.is-story-group{animation:none;filter:drop-shadow(0 0 4px rgba(255,215,0,.95))}
  #tutor-member-experience .tutor-story-equation-chip{animation:none;opacity:1;transform:none}
  #tutor-member-experience .tutor-story-stage[data-story-cue="answer"] .tutor-story-visual-slot{animation:none;filter:drop-shadow(0 0 6px rgba(255,215,0,.45))}
  #tutor-member-experience .tutor-story-coach{animation:none}
  #tutor-member-experience .tutor-story-coach.is-beat-start .tutor-story-coach-svg{animation:none;transform:none}
  #tutor-member-experience .tutor-story-caption.is-fading{opacity:1;transform:none}
  #tutor-member-experience .tutor-story-dot.is-current .tutor-story-dot-fill{animation:none;transform:scaleX(1)}
  #tutor-member-experience .tutor-story-close{animation:none;opacity:1;transform:none}
  #tutor-member-experience .tutor-answer-grid.is-story-ready{animation:none;box-shadow:none}
}
@media print{
  /* The story stage — plate, equation line and close card with it — never prints. */
  #tutor-member-experience .tutor-story-stage,
  #tutor-member-experience .tutor-story-figure,
  #tutor-member-experience .tutor-story-equation,
  #tutor-member-experience .tutor-story-close{display:none!important}
  #tutor-member-experience .tutor-answer-grid.is-story-ready{animation:none!important;box-shadow:none!important}
}

/* ============================================================================
   STORY MODE — THE STAGE'S OWN COLOUR SCHEME (2026-08-07)
   ----------------------------------------------------------------------------
   WHY THIS BLOCK EXISTS. Everything above paints the story stage in navy, gold
   and cream with ordinary declarations, and on a fixture that is exactly what
   renders. On the real member page it is not: the app stylesheet carries two
   broad !important families that the fixtures never carried, and !important
   beats specificity outright, so the stage's own colours lost every time.

     #tutor-member-experience *,#hh-features *,.hh-band *,
     #first-session-promise *,#start *{color:#1B2D6B!important}

   painted the caption, the close card and all four controls navy — 1.37 against
   the stage's own near-black gradient, which is why the story read as empty.

     #start .btn.p,#tutor-member-experience button{background:#FFD700!important;
     color:#1B2D6B!important;border-color:#FFD700!important}

   additionally inverted every control in the stage to solid gold, discarding
   the navy pill with the gold rim the stage was designed around.

   THE FIX IS STRUCTURAL, NOT COSMETIC. Each story layer below states its own
   colour explicitly and at a specificity — (1,2,0) via the stage class — that
   beats both families and every theme skin, so the stage's appearance is a
   property of the stage rather than of whatever the page cascades at it. Every
   value is drawn from the board's established navy-gold-cream palette and every
   foreground is stated with the contrast it actually measures against the
   background it is actually painted on:

     stage backdrop        #0C1736 -> #08102A         (the gradient's light end
                                                       is the worst case, so
                                                       every ratio below uses it)
     cream    #FFF9E8  on the stage backdrop   16.5:1
     gold     #FFD700  on the stage backdrop   12.4:1
     navy     #1B2D6B  on a cream face         12.1:1
     deepnavy #0C1736  on a cream face         16.5:1
   ========================================================================== */

/* The stage, and the floor every layer inside it is measured against. */
#tutor-member-experience .tutor-story-stage{
  background:linear-gradient(180deg,#0C1736 0%,#08102A 100%)!important;
  border-color:rgba(255,215,0,.42)!important;
  color:#FFF9E8!important;
}
/* One cream default for anything inside the stage that does not name a colour of
   its own, so a layer added later can never silently inherit the navy the broad
   rule would otherwise force on it. Specificity (1,1,0); every named layer below
   is (1,2,0) and wins over it. */
#tutor-member-experience .tutor-story-stage *:where(:not(button)){color:#FFF9E8!important}

/* --- the caption: the story's actual words -------------------------------- */
#tutor-member-experience .tutor-story-stage .tutor-story-caption{color:#FFF9E8!important}
/* The answer beat keeps its gold payoff. */
#tutor-member-experience .tutor-story-stage[data-story-cue="answer"] .tutor-story-caption{color:#FFD700!important}

/* --- the coach ------------------------------------------------------------ */
/* The face used to be #12204C — a near-black navy on a near-black stage, 1.12:1,
   invisible whatever the page cascaded. It is now the cream of the board's own
   plate, so the head reads as a head.

   Each part is coloured against the surface it is ACTUALLY painted on, which for
   an SVG shape is the sibling shape underneath it, not a CSS background:
     halo  -> stage  #0C1736 : gold ring stroke at .62 alpha = 5.32:1
     face  -> stage  #0C1736 : cream #FFF9E8              = 16.76:1
     cap   -> stage  #0C1736 : gold  #FFD700              = 12.57:1
              and its lower half overlaps the cream face, where the navy
              stroke below carries the edge: #0C1736 on #FFF9E8 = 16.76:1
     brim  -> same pair as the cap
     eye   -> face   #FFF9E8 : navy  #0C1736              = 16.76:1
     mouth -> face   #FFF9E8 : navy  #0C1736              = 16.76:1
   Nothing here is navy-on-navy, which is what made the coach disappear. */
#tutor-member-experience .tutor-story-stage .tutor-story-coach-halo{fill:rgba(255,215,0,.14)!important;stroke:rgba(255,215,0,.62)!important;stroke-width:2!important}
#tutor-member-experience .tutor-story-stage .tutor-story-coach-face{fill:#FFF9E8!important;stroke:#FFD700!important;stroke-width:3!important}
#tutor-member-experience .tutor-story-stage .tutor-story-coach-cap{fill:#FFD700!important;stroke:#0C1736!important;stroke-width:2.5!important}
#tutor-member-experience .tutor-story-stage .tutor-story-coach-brim{fill:#FFD700!important;stroke:#0C1736!important;stroke-width:2!important}
#tutor-member-experience .tutor-story-stage .tutor-story-coach-eye{fill:#0C1736!important;stroke:none!important}
#tutor-member-experience .tutor-story-stage .tutor-story-coach-mouth{fill:#0C1736!important;stroke:none!important}

/* --- the copied visual ---------------------------------------------------- */
/* The copy keeps the board's cream plate, stated here so it does not depend on an
   unweighted rule further up the file.

   Nothing else about the picture is forced. The board already paints its own
   artwork with rules that apply to the copy exactly as they apply to the round —
   --tutor-navy ink, --tutor-visual-gold / --tutor-visual-surface piece fills fed
   by the copy's own inline style and its own namespaced <defs> — and those rules
   carry variants the story must not flatten: an emoji-grid skin hides the backing
   circle (line 413), a marked tick number goes #8a6810 (line 426), a focused
   piece takes a gold ring (line 425). An earlier draft of this block forced
   fill/stroke on .tutor-visual-number/-caption/-axis/-tick/-group-dot/-group-star
   /-wedge/-segment; on the real DOM that made the copy diverge from the round it
   is supposed to be a copy OF, so it is gone. The only cascade the picture
   actually needed protection from is the cream `color` default above, which is
   put back to the board's navy for everything inside the picture. */
#tutor-member-experience .tutor-story-stage .tutor-story-visual{
  --tutor-visual-surface:#FFF9E8;
  --tutor-visual-gold:#FFD700;
  background:#FFF9E8!important;
  border-color:#1B2D6B!important;
  color:#1B2D6B!important;
}
/* The cream default stops at the copy's edge: inside the picture the ink is the
   board's navy, on the board's cream plate, exactly as the round draws it. */
#tutor-member-experience .tutor-story-stage .tutor-story-visual *:where(:not(button)){color:#1B2D6B!important}
#tutor-member-experience .tutor-story-stage .tutor-story-visual .tutor-visual{background:#FFF9E8!important}

/* --- the equation chips --------------------------------------------------- */
/* Gold on a gold-tinted navy chip, 9.3:1. Without the override the broad rule
   painted the digits #1B2D6B on that same chip — 1.03:1, a number that is
   spoken aloud and then arrives on screen as a blank box. */
#tutor-member-experience .tutor-story-stage .tutor-story-equation-chip{
  background:rgba(255,215,0,.14)!important;
  border-color:#FFD700!important;
  color:#FFD700!important;
}

/* --- the progress dots ---------------------------------------------------- */
/* The idle and current tracks were gold at .26 alpha — 1.88:1 on the stage, a
   marker you cannot see is not a marker. They are cream at .42 (3.8:1) instead.
   The CURRENT dot keeps its transparent track on purpose: the solid gold
   .tutor-story-dot-fill animates across it at the pace of the beat's own audio,
   and that fill is the signal at 12.4:1. */
#tutor-member-experience .tutor-story-stage .tutor-story-dot{background:rgba(255,249,232,.42)!important}
#tutor-member-experience .tutor-story-stage .tutor-story-dot.is-done{background:rgba(255,215,0,.78)!important}
#tutor-member-experience .tutor-story-stage .tutor-story-dot.is-current{background:rgba(255,249,232,.42)!important}
#tutor-member-experience .tutor-story-stage .tutor-story-dot-fill{background:#FFD700!important}

/* --- the controls --------------------------------------------------------- */
/* Navy pill, gold rim, gold glyph — the stage's own chrome, restored over the
   member-root button rule that had made all four solid gold. */
#tutor-member-experience .tutor-story-stage .tutor-story-button,
#tutor-member-experience .tutor-story-stage .tutor-story-skip{
  background:#0C1736!important;
  border-color:#FFD700!important;
  color:#FFD700!important;
}
#tutor-member-experience .tutor-story-stage .tutor-story-button [data-story-toggle-icon],
#tutor-member-experience .tutor-story-stage .tutor-story-button span,
#tutor-member-experience .tutor-story-stage .tutor-story-skip span{color:#FFD700!important}
#tutor-member-experience .tutor-story-stage .tutor-story-button:hover,
#tutor-member-experience .tutor-story-stage .tutor-story-button:focus-visible,
#tutor-member-experience .tutor-story-stage .tutor-story-skip:hover,
#tutor-member-experience .tutor-story-stage .tutor-story-skip:focus-visible{
  background:#16255A!important;
  border-color:#FFE47A!important;
  color:#FFE47A!important;
}
#tutor-member-experience .tutor-story-stage .tutor-story-retry,
#tutor-member-experience .tutor-story-stage .tutor-story-retry span{
  background:none!important;
  border-color:transparent!important;
  color:#FFD700!important;
}

/* --- the close card ------------------------------------------------------- */
#tutor-member-experience .tutor-story-stage .tutor-story-close{
  background:linear-gradient(180deg,rgba(12,23,54,.96) 0%,rgba(8,16,42,.98) 100%)!important;
  color:#FFF9E8!important;
}
#tutor-member-experience .tutor-story-stage .tutor-story-close-badge{color:#FFF9E8!important}
#tutor-member-experience .tutor-story-stage .tutor-story-close-title{color:#FFD700!important}
#tutor-member-experience .tutor-story-stage .tutor-story-close-line{color:#FFF9E8!important}

/* ═══ CASCADE SAFETY: explicit colours for the controls that used to be
   propped up by the blanket rules ══════════════════════════════════════
   Two blanket families used to paint the whole member experience:

     #tutor-member-experience *{color:#1B2D6B!important}                (was L839)
     #tutor-member-experience button{background:#FFD700!important;
       color:#1B2D6B!important;border-color:#FFD700!important}          (was L857)

   Both carried !important, so they outranked every component-scoped colour
   regardless of specificity, and any element added later was painted navy —
   invisible the moment it landed on a navy surface. They are now scoped to
   the light marketing sections they were written for (#hh-features, .hh-band,
   #first-session-promise, #start), and the member experience relies on two
   legible, overridable defaults instead:

     #tutor-member-experience{background:#1B2D6B!important;color:#E8ECFF!important}   (L971)
     #tutor-member-experience button{background:#FFD700;color:#1B2D6B;
       border-color:#FFD700}                                                          (L759)

   Neither is flagged, so component rules win on specificity, and both state a
   sufficient foreground/background pair — a new element inherits a readable
   colour rather than a blanket one. The three controls below were the only
   ones measured to have depended on the flagged rules for their legibility,
   so each now states its own foreground explicitly. */

/* The flag control sits on two different surfaces and inherited from each.
   In the script panel's header bar (.sh, navy field) it inherited navy, which
   the flagged button rule used to mask with a gold field. Stated explicitly. */
#tutor-member-experience .tutor-script-panel .sh>.tutor-flag-control{color:#FFFFFF!important}
#tutor-member-experience .tutor-game-hud>.tutor-flag-control{color:#FFFFFF!important}

/* Generation progress rail. The brand repaint moved the track from #e2e4e8 to
   #E8ECFF, which no longer separates from the cream card it sits on, so the
   gold bar appeared to float with no rail behind it. Its sibling
   .tutor-progress-segment already carries the member-scoped fix at L1140;
   the track is brought to the same treatment. */
#tutor-member-experience .tutor-progress-track{background:#53618B!important}

/* The loading/MORE PRACTICE caption is on the cream card, not the navy board,
   so it takes the board's navy ink rather than the gold reserved for headings
   that sit on navy (.tutor-section-heading h2, .tutor-board-title). */
#tutor-member-experience .tutor-progress-title{color:#1B2D6B!important}

/* ── CHALLENGE A FRIEND ───────────────────────────────────────────────────────
   The challenge desk on the celebration, the code entry on the member home area
   and the RIVALS board reachable from both.

   CASCADE NOTE, per the file tail above: the celebration paints every
   non-button descendant navy with a flagged rule
   (.tutor-final-reveal *:where(:not(button)){color:#1B2D6B!important}), so every
   surface below states a LIGHT field of its own and reads navy on it rather than
   trying to outrank that rule. The one control that must not be gold-on-gold —
   the CHALLENGE button sitting directly on the gold celebration — is a <button>,
   which the flagged rule exempts, so it states its own pair outright.

   Every interactive target here is at least 44px on its shortest side. */

/* SCROLL ANCHORING. These containers grow and shrink in place — minting a code,
   opening RIVALS, staging a joined match. Chrome's scroll anchoring reacts to
   that by re-picking its anchor node and shifting the scroll offset to suit,
   which slides the celebration under the reader by the size of the change. The
   page performs no scroll here — measured at zero scrollTo, zero
   scrollIntoView, zero focus() across every challenge interaction — so the fix
   is to decline anchoring rather than to counter-scroll.

   The opt-out on the board panel is gated behind :has(.tutor-challenge-desk) so
   it can only ever apply on a celebration that is actually showing the desk. On
   every other stage, and in every session where the desk never renders, the
   panel keeps the anchoring behaviour it shipped with. Browsers without :has()
   simply keep today's behaviour too. */
#tutor-member-experience .tutor-challenge-desk,
#tutor-member-experience .tutor-challenge-entry,
#tutor-member-experience .tutor-rivals-panel{overflow-anchor:none}
#tutor-member-experience .tutor-board-panel:has(.tutor-challenge-desk){overflow-anchor:none}

#tutor-member-experience .tutor-challenge-desk{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:18px auto 0;max-width:560px;width:100%}

/* The board's pill, in the navy half of the palette so it separates from the
   gold celebration behind it instead of disappearing into it. */
#tutor-member-experience .tutor-challenge-start{background:linear-gradient(135deg,#223D86,#101F52)!important;border:2px solid #101F52!important;color:#FFE98A!important;display:block;font-size:clamp(14px,2vw,17px);min-height:52px;width:100%}
#tutor-member-experience .tutor-challenge-start:disabled{background:#5A6488!important;border-color:#454E6C!important;color:#E4E7F2!important;cursor:not-allowed;opacity:1}

#tutor-member-experience .tutor-challenge-minted{background:#FFFDF4;border:2px solid #101F52;border-radius:14px;padding:16px 14px;text-align:center}
#tutor-member-experience .tutor-challenge-code-heading{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
#tutor-member-experience .tutor-challenge-code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:clamp(30px,7vw,46px);font-weight:900;letter-spacing:.16em;line-height:1.15;margin:6px 0 4px;user-select:all;word-break:break-all}
#tutor-member-experience .tutor-challenge-share{font-size:13px;font-weight:600;line-height:1.4;margin:0 0 12px}
#tutor-member-experience .tutor-challenge-copy{background:#FFD94F;border:2px solid #B98508;border-radius:10px;color:#14224D!important;cursor:pointer;font-size:12px;font-weight:900;letter-spacing:.08em;min-height:44px;padding:11px 20px;text-transform:uppercase}
#tutor-member-experience .tutor-challenge-copy:focus-visible{outline:3px solid #101F52;outline-offset:3px}

#tutor-member-experience .tutor-challenge-open{border-top:1px solid #D9D2B6;margin-top:14px;padding-top:10px;text-align:start}
#tutor-member-experience .tutor-challenge-open-title{font-size:10px;font-weight:900;letter-spacing:.1em;margin:0 0 6px;text-transform:uppercase}
#tutor-member-experience .tutor-challenge-open-list{list-style:none;margin:0;padding:0}
#tutor-member-experience .tutor-challenge-open-row{align-items:center;border-top:1px solid #EDE6CE;display:flex;font-size:12px;gap:8px;justify-content:space-between;min-height:32px;padding:4px 0}
#tutor-member-experience .tutor-challenge-open-row:first-child{border-top:0}
#tutor-member-experience .tutor-challenge-open-code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:13px;font-weight:900;letter-spacing:.09em}
#tutor-member-experience .tutor-challenge-open-date{font-size:11px;font-weight:600;opacity:.75}
#tutor-member-experience .tutor-challenge-open-state{border:1px solid #C7BF9E;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;padding:3px 9px;text-transform:uppercase;white-space:nowrap}
#tutor-member-experience .tutor-challenge-open-state[data-open-state="claimed"],#tutor-member-experience .tutor-challenge-open-state[data-open-state="complete"]{background:#E4F2DF;border-color:#7BA86B}

#tutor-member-experience .tutor-challenge-rivals-link{background:transparent;border:2px solid #101F52;border-radius:999px;color:#101F52!important;cursor:pointer;font-size:12px;font-weight:900;letter-spacing:.08em;min-height:44px;padding:10px 18px;text-transform:uppercase}
#tutor-member-experience .tutor-challenge-rivals-link:focus-visible{outline:3px solid #2F8F4E;outline-offset:3px}

#tutor-member-experience .tutor-challenge-note{font-size:12px;font-weight:700;line-height:1.4;margin:8px 0 0}
#tutor-member-experience .tutor-challenge-note-error{background:#FFF1F1;border:1px solid #C9455B;border-radius:10px;color:#8A1B2C!important;padding:9px 11px}

/* ── code entry, member home area ─────────────────────────────────────────── */
#tutor-member-experience .tutor-challenge-entry{background:#FFFDF4;border:2px solid #1B2D6B;border-radius:14px;color:#1B2D6B;margin:18px 0 0;padding:14px}
#tutor-member-experience .tutor-challenge-entry-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:8px}
#tutor-member-experience .tutor-challenge-entry-head h4{color:#1B2D6B;font-size:13px;font-weight:900;letter-spacing:.07em;margin:0;text-transform:uppercase}
#tutor-member-experience .tutor-challenge-entry-row{align-items:center;display:flex;flex-wrap:wrap;gap:9px}
#tutor-member-experience .tutor-challenge-entry-label{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
#tutor-member-experience .tutor-challenge-code-input{background:#FFF;border:2px solid #1B2D6B;border-radius:10px;color:#1B2D6B;flex:1 1 150px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:19px;font-weight:900;letter-spacing:.22em;min-height:48px;min-width:0;padding:11px 13px;text-align:center;text-transform:uppercase}
#tutor-member-experience .tutor-challenge-code-input:focus-visible{outline:3px solid #2F8F4E;outline-offset:2px}
#tutor-member-experience .tutor-challenge-join{flex:0 0 auto;min-height:48px}
#tutor-member-experience .tutor-challenge-entry-hint{font-size:11px;font-weight:600;margin:8px 0 0;opacity:.8}

#tutor-member-experience .tutor-challenge-staged{background:#F2F7EE;border:2px solid #2F8F4E;border-radius:12px;padding:13px}
#tutor-member-experience .tutor-challenge-staged-from{align-items:center;display:flex;gap:9px}
#tutor-member-experience .tutor-challenge-staged-from strong{font-size:16px;font-weight:900}
#tutor-member-experience .tutor-challenge-staged-topic{font-size:12px;font-weight:800;letter-spacing:.04em;margin-top:6px;text-transform:uppercase}
#tutor-member-experience .tutor-challenge-staged-line{font-size:13px;font-weight:600;line-height:1.45;margin:6px 0 10px}
#tutor-member-experience .tutor-challenge-staged-badge{background:#2F8F4E;border-radius:999px;color:#FFFFFF!important;display:inline-block;font-size:12px;font-weight:900;letter-spacing:.1em;padding:8px 15px;text-transform:uppercase}

#tutor-member-experience .tutor-challenge-avatar{align-items:center;background:hsl(var(--tutor-avatar-hue,210) 62% 88%);border:2px solid hsl(var(--tutor-avatar-hue,210) 48% 38%);border-radius:999px;color:hsl(var(--tutor-avatar-hue,210) 55% 24%)!important;display:inline-flex;flex:0 0 auto;font-size:14px;font-weight:900;height:32px;justify-content:center;width:32px}

/* ── rivals board ─────────────────────────────────────────────────────────── */
#tutor-member-experience .tutor-rivals-panel{background:#FFFDF4;border:2px solid #101F52;border-radius:14px;color:#1B2D6B;margin-top:12px;padding:12px;text-align:start}
#tutor-member-experience .tutor-rivals-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}
#tutor-member-experience .tutor-rivals-head h4{color:#1B2D6B;font-size:13px;font-weight:900;letter-spacing:.07em;margin:0;text-transform:uppercase}
#tutor-member-experience .tutor-rivals-close{background:transparent;border:2px solid #101F52;border-radius:999px;color:#101F52!important;cursor:pointer;font-size:11px;font-weight:900;letter-spacing:.07em;min-height:44px;padding:10px 16px;text-transform:uppercase}
#tutor-member-experience .tutor-rivals-close:focus-visible{outline:3px solid #2F8F4E;outline-offset:3px}
#tutor-member-experience .tutor-rivals-table{border-collapse:collapse;font-size:12px;width:100%}
#tutor-member-experience .tutor-rivals-table th,#tutor-member-experience .tutor-rivals-table td{padding:7px 6px;text-align:start;vertical-align:middle}
#tutor-member-experience .tutor-rivals-table thead th{border-bottom:2px solid #101F52;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
#tutor-member-experience .tutor-rival-row{border-bottom:1px solid #EDE6CE}
#tutor-member-experience .tutor-rival-row.is-self{background:#FFF3BF;box-shadow:inset 3px 0 0 #D4A017}
#tutor-member-experience .tutor-rival-name{align-items:center;display:flex;font-size:13px;font-weight:900;gap:8px;min-height:44px}
#tutor-member-experience .tutor-rival-series{font-size:14px;font-weight:900;letter-spacing:.04em;white-space:nowrap}
#tutor-member-experience .tutor-rival-streak{font-size:12px;font-weight:800;white-space:nowrap}
#tutor-member-experience .tutor-rival-coins{white-space:nowrap}
#tutor-member-experience .tutor-rival-coin{display:inline-block;font-size:12px;font-weight:900}
#tutor-member-experience .tutor-rival-coin-them{margin-inline-start:8px;opacity:.62}
#tutor-member-experience .tutor-challenge-empty{font-size:13px;font-weight:700;line-height:1.5;margin:4px 0 0;text-align:center}

/* The one piece of celebratory motion: the minted code lands with a single pop. */
@keyframes tutor-challenge-code-pop{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
#tutor-member-experience .tutor-challenge-code{animation:tutor-challenge-code-pop .42s cubic-bezier(.2,.85,.25,1)}

@media(prefers-reduced-motion:reduce){
  /* Resolved to the animation's end state — the code is simply there. */
  #tutor-member-experience .tutor-challenge-code{animation:none!important;opacity:1!important;transform:none!important}
  #tutor-member-experience .tutor-challenge-start,#tutor-member-experience .tutor-challenge-copy,#tutor-member-experience .tutor-challenge-rivals-link,#tutor-member-experience .tutor-rivals-close,#tutor-member-experience .tutor-challenge-join{transition:none!important}
  #tutor-member-experience .tutor-challenge-start:hover,#tutor-member-experience .tutor-challenge-join:hover{box-shadow:none!important;transform:none!important}
}

@media(max-width:520px){
  #tutor-member-experience .tutor-challenge-join{width:100%}
  #tutor-member-experience .tutor-rivals-table{font-size:11px}
  #tutor-member-experience .tutor-rivals-table th,#tutor-member-experience .tutor-rivals-table td{padding:6px 4px}
  #tutor-member-experience .tutor-rival-coin-them{display:block;margin-inline-start:0}
}

/* The challenge desk and the rivals panel are screen chrome: a printed board
   carries the lesson, not an invitation to race. */
@media print{
  #tutor-member-experience .tutor-challenge-desk,
  #tutor-member-experience .tutor-challenge-entry,
  #tutor-member-experience .tutor-rivals-panel{display:none!important}
}

/* ══ THE GHOST RACE ════════════════════════════════════════════════════════════
   The ghost race's surfaces: the staged card's start action, the rival form of the
   race strip, and the result moment. Everything below is additive — no rule above
   this line is edited, so a normal session's Robo strip and the challenge desk
   render byte-for-byte what they always did.

   STRIP HEIGHT PARITY is the governing constraint here. The rival strip reuses
   .tutor-robo-race-strip, .tutor-race-lanes, .tutor-race-lane, .tutor-race-track,
   .tutor-race-fill and .tutor-robo-commentary in the same nesting Robo uses, so it
   inherits every size and every responsive step-down for free. The two additions
   that could grow it — the badge in the title and the tally in the commentary slot
   — are both pinned to the height of the text they replace, the badge with a
   negative block margin that cancels its pill padding and the tally with the
   commentary row's own line box. Net change to the strip's height: zero. */

/* ── the staged card's start action ──────────────────────────────────────────── */
#tutor-member-experience .tutor-challenge-staged-rival{background:#101F52;border-radius:999px;color:#FFE47A!important;display:inline-block;font-size:11px;font-weight:950;letter-spacing:.12em;margin-bottom:8px;padding:5px 12px}
#tutor-member-experience .tutor-challenge-staged-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:11px}
#tutor-member-experience .tutor-challenge-play{flex:0 0 auto;min-height:48px}
#tutor-member-experience .tutor-challenge-play[disabled]{cursor:progress;opacity:.62}
#tutor-member-experience .tutor-challenge-staged-cost{flex:1 1 140px;font-size:11px;font-weight:700;line-height:1.35;min-width:0;opacity:.82}

/* ── the rival form of the race strip ────────────────────────────────────────── */
/* The badge sits in the slot Robo's "RACE" title occupies. line-height:1 on the
   title makes that slot 11px tall; the pill's 3px block padding plus its 1px
   border are cancelled by an equal negative margin, so the title box measures the
   same 11px in both forms. */
#tutor-member-experience .tutor-rival-badge{background:rgba(255,228,122,.16);border:1px solid rgba(255,228,122,.5);border-radius:999px;display:inline-block;letter-spacing:.14em;margin-block:-4px;padding:3px 10px}
#tutor-member-experience .tutor-robo-race-strip.is-rival{border-color:#F0C948}
/* The ghost's bar is cooler than the student's gold and deliberately flatter — a
   recording, not a live runner. */
#tutor-member-experience .tutor-race-ghost .tutor-race-fill{background:linear-gradient(90deg,#5C4A9E,#A796E8);transition:transform .2s linear}
#tutor-member-experience .tutor-race-ghost .tutor-race-track{border-style:dashed}
/* Pinned to .tutor-race-label's own 18px min-height so the opponent's avatar cannot
   push the lane — and therefore the strip — past the height Robo's lane sets. */
#tutor-member-experience .tutor-race-ghost .tutor-challenge-avatar{border-width:1px;font-size:10px;height:18px;width:18px}
#tutor-member-experience .tutor-robo-race-strip.is-rival.is-robo-leading .tutor-race-ghost{border-color:rgba(255,228,122,.86);box-shadow:0 0 0 2px rgba(255,228,122,.14),0 5px 18px rgba(255,215,0,.16)}
/* The tally lives in the commentary row Robo's flavor line uses, at that row's own
   height, so the outcome-only line costs the strip nothing. */
#tutor-member-experience .tutor-rival-tally{color:#FFE47A!important;display:block;font-size:11px;font-weight:950;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}

/* ── the severed ghost ───────────────────────────────────────────────────────── */
/* No lane, no tally, no result — one quiet line where the strip would have been,
   and the board plays on as an ordinary solo board. */
#tutor-member-experience .tutor-rival-fallback{background:#FFF9E8;border:2px dashed #D8B643;border-radius:14px;color:#5A4406!important;font-size:12px;font-weight:800;line-height:1.4;margin:0 0 14px;padding:11px 13px;text-align:center}

/* ── the result moment ───────────────────────────────────────────────────────── */
#tutor-member-experience .tutor-rival-result{background:#FFFDF4;border:3px solid #101F52;border-radius:16px;color:#1B2D6B;margin:0 0 16px;padding:16px 14px;text-align:center}
#tutor-member-experience .tutor-rival-result.is-won{background:linear-gradient(180deg,#FFF8DC 0%,#FFFDF4 62%);border-color:#B98508}
#tutor-member-experience .tutor-rival-result.is-lost{background:linear-gradient(180deg,#F3F5FB 0%,#FFFDF4 62%);border-color:#5C4A9E}
#tutor-member-experience .tutor-rival-result-badge{background:#101F52;border-radius:999px;color:#FFE47A!important;display:inline-block;font-size:11px;font-weight:950;letter-spacing:.12em;padding:5px 13px}
#tutor-member-experience .tutor-rival-result-headline{display:block;font-size:clamp(21px,4.6vw,30px);font-weight:950;letter-spacing:.02em;line-height:1.18;margin:10px 0 4px}
#tutor-member-experience .tutor-rival-result.is-won .tutor-rival-result-headline{color:#8A6800!important}
#tutor-member-experience .tutor-rival-result.is-lost .tutor-rival-result-headline{color:#3E3173!important}
#tutor-member-experience .tutor-rival-result-tally{font-size:13px;font-weight:900;letter-spacing:.05em;margin-bottom:11px;text-transform:uppercase}
/* The round rows. OUTCOME ONLY: a round number, a mark and a verdict word — there
   is no column here for a score, a try count or a time, on either side. */
#tutor-member-experience .tutor-rival-result-rounds{display:grid;gap:6px;list-style:none;margin:0;padding:0;text-align:start}
#tutor-member-experience .tutor-rival-result-row{align-items:center;background:#FFFFFF;border:1px solid #D9D2BA;border-radius:10px;display:flex;gap:9px;min-height:44px;padding:8px 11px}
#tutor-member-experience .tutor-rival-result-row.is-won{background:#F2F9F3;border-color:#2F8F4E}
#tutor-member-experience .tutor-rival-result-row.is-lost{background:#F6F4FC;border-color:#5C4A9E}
#tutor-member-experience .tutor-rival-result-round{flex:0 0 auto;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
#tutor-member-experience .tutor-rival-result-mark{flex:0 0 auto;font-size:16px;font-weight:900;line-height:1;margin-inline-start:auto}
#tutor-member-experience .tutor-rival-result-row.is-won .tutor-rival-result-mark{color:#2F8F4E!important}
#tutor-member-experience .tutor-rival-result-row.is-lost .tutor-rival-result-mark{color:#8A1B2C!important}
#tutor-member-experience .tutor-rival-result-verdict{flex:0 0 auto;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Scoped so the rivals table's own .tutor-rival-series cell keeps its existing rule. */
#tutor-member-experience .tutor-rival-result .tutor-rival-series{align-items:center;background:#FFF3BF;border:2px solid #D4A017;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px;padding:9px 11px;white-space:normal}
#tutor-member-experience .tutor-rival-series-label{font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
#tutor-member-experience .tutor-rival-series-name{font-size:13px;font-weight:900}
#tutor-member-experience .tutor-rival-series-line{font-size:16px;font-weight:950;letter-spacing:.06em;white-space:nowrap}
#tutor-member-experience .tutor-rival-rematch-button{margin-top:12px;min-height:48px}
#tutor-member-experience .tutor-rival-rematch-button[disabled]{cursor:progress;opacity:.62}
#tutor-member-experience .tutor-rival-rematch{background:#101F52;border-radius:14px;color:#FFFFFF!important;margin-top:12px;padding:13px 12px}
#tutor-member-experience .tutor-rival-rematch .tutor-challenge-code-heading{color:#FFE47A!important}
#tutor-member-experience .tutor-rival-rematch .tutor-challenge-code{font-size:clamp(26px,6vw,38px)}
#tutor-member-experience .tutor-rival-rematch .tutor-challenge-share{opacity:.9}

/* RTL. The strip, the rows and the series line all lay out with logical
   properties, so Arabic and Urdu mirror on their own. The two exceptions are
   pinned in the markup instead: the minted code and the W–L standing carry
   dir="ltr", because a code and a scoreline read left-to-right in every locale. */
#tutor-member-experience .tutor-rival-result[dir="rtl"] .tutor-rival-result-rounds{text-align:start}

@media(max-width:760px){
  #tutor-member-experience .tutor-rival-badge{letter-spacing:.1em;padding:3px 8px}
  #tutor-member-experience .tutor-rival-tally{font-size:10px}
}
@media(max-width:520px){
  #tutor-member-experience .tutor-challenge-play{width:100%}
  #tutor-member-experience .tutor-challenge-staged-cost{flex:1 1 100%}
  #tutor-member-experience .tutor-rival-result{padding:14px 11px}
  #tutor-member-experience .tutor-rival-result-row{flex-wrap:wrap;gap:7px}
  #tutor-member-experience .tutor-rival-rematch-button{width:100%}
}
/* Viewport-fit compaction: at the short-viewport steps the strip already shrinks
   its own track, and the badge and tally shrink with the text around them. */
@media(max-height:820px){
  #tutor-member-experience .tutor-rival-badge{margin-block:-3px;padding-block:2px}
  #tutor-member-experience .tutor-rival-result{margin-bottom:12px;padding:13px 12px}
  #tutor-member-experience .tutor-rival-result-headline{margin:8px 0 3px}
}
@media(max-height:700px){
  #tutor-member-experience .tutor-rival-result-row{min-height:44px;padding:6px 10px}
  #tutor-member-experience .tutor-rival-result-rounds{gap:5px}
}

@media(prefers-reduced-motion:reduce){
  /* The strip's blanket rule above already stills everything inside it; this pins
     the ghost's bar too, so it steps to each new position instead of sliding. */
  #tutor-member-experience .tutor-race-ghost .tutor-race-fill{transition:none!important}
  #tutor-member-experience .tutor-rival-rematch .tutor-challenge-code{animation:none!important;opacity:1!important;transform:none!important}
  #tutor-member-experience .tutor-challenge-play,#tutor-member-experience .tutor-rival-rematch-button{transition:none!important}
  #tutor-member-experience .tutor-challenge-play:hover,#tutor-member-experience .tutor-rival-rematch-button:hover{box-shadow:none!important;transform:none!important}
}

/* A printed board carries the lesson. The strip is already hidden in print by the
   Robo rule; the match's own surfaces follow it out. */
@media print{
  #tutor-member-experience .tutor-rival-result,
  #tutor-member-experience .tutor-rival-fallback,
  #tutor-member-experience .tutor-challenge-staged-actions{display:none!important}
}

/* ==========================================================================
   ROUND-STAGE LAYOUT LAW — reserved space, always reachable, stationary
   (2026-08-08)
   --------------------------------------------------------------------------
   The board used to grow downward as a round progressed. Answering inserted an
   explanation and a NEXT ROUND button that had no space of their own, the
   viewport-fit refinement had already unclamped the panel (height:auto,
   overflow:visible), and the difficulty rail lived outside the panel entirely —
   so every reveal pushed MAKE IT HARDER / MAKE IT EASIER further down the
   document, on a phone clean out of the viewport. Three laws replace the
   per-element patching:

     (1) RESERVED SPACE — the explanation and the NEXT ROUND button ship with
         the round's first paint and are held hidden until earned, exactly as
         .tutor-answer-mark has always done. The reveal slot is a fixed band,
         so filling it changes what is drawn and never where.
     (2) ALWAYS REACHABLE — a live round's panel is a fitted flex column. The
         brief (instruction + visual) is the only elastic row and scrolls inside
         itself; the deck (question, choices, reveal, next) and the difficulty
         rail are fixed rows pinned inside the panel, which the round-stage
         markup now carries as the stage's own last row.
     (3) STATIONARY CONTROLS — no animation inside a live round may move a
         control's box. The stage swap becomes a pure fade and the correct-answer
         celebration becomes a ring pulse instead of a scale pop.

   Scope is deliberately narrow: only .tutor-board-panel.is-round-stage, which
   the renderer sets for a live board round and for nothing else. The warm-up,
   the story stage, the drill, the quiz, the celebration and print keep the
   composition they shipped with — the wrappers below collapse to display:contents
   anywhere outside the fitted stage, so those box trees are unchanged.
   ========================================================================== */

/* Outside the fitted stage the three new wrappers are not boxes at all. */
#tutor-member-experience .tutor-board-panel:not(.is-round-stage) .tutor-round-brief,
#tutor-member-experience .tutor-board-panel:not(.is-round-stage) .tutor-round-deck,
#tutor-member-experience .tutor-board-panel:not(.is-round-stage) .tutor-round-reveal{display:contents}
@media print{
  .tutor-round-brief,.tutor-round-deck,.tutor-round-reveal{display:contents!important}
}

/* (1) RESERVED SPACE — held slots, present from the first paint. */
#tutor-member-experience .tutor-answer-explain.is-reserved,
#tutor-member-experience .tutor-next-round.is-reserved{animation:none!important;pointer-events:none;visibility:hidden}

@media screen{
  /* (2) ALWAYS REACHABLE — the fitted column. */
  #tutor-member-experience .tutor-board-panel.is-round-stage{
    --tutor-stage-gutter:132px;
    --tutor-reveal-reserve:150px;
    display:flex;flex-direction:column;
    height:calc(100dvh - var(--tutor-stage-gutter));
    max-height:calc(100dvh - var(--tutor-stage-gutter));
    min-height:360px;overflow:hidden;
  }
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-board-stage{
    display:flex;flex-direction:column;flex:1 1 auto;height:auto;min-height:0;overflow:hidden;
  }
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-game-hud,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-robo-race-strip,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-board-license,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-spotlight{flex:0 0 auto}
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-phase-list{
    display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;overflow-anchor:none;
  }
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-stage-round,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-round-body{
    display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
  }
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-phase-banner{flex:0 0 auto}
  /* The brief is the only row allowed to give: long setup copy and tall visuals
     scroll here rather than pushing the deck out of the panel. */
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-round-brief{
    flex:1 1 0;min-height:44px;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;
  }
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-round-deck{
    display:flex;flex-direction:column;flex:0 1 auto;min-height:0;
  }
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-answer-grid,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-round-complete,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-next-round{flex:0 0 auto}
  /* The reveal band: same height before and after the answer lands, its copy
     scrolling inside. It is sized from the reserve and only ever gives ground
     to the question and the choices, never to the controls below it. */
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-round-reveal{
    flex:1 1 var(--tutor-reveal-reserve);min-height:52px;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;
  }
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-round-reveal .tutor-answer-explain{margin-top:0}
  /* A long question shrinks itself before it shrinks anything else. */
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-challenge{flex:0 1 auto;max-height:22vh;min-height:44px;overflow:auto;overflow-anchor:none}

  /* The difficulty rail, docked as the stage's last row. Same ids, same
     delegated handler — only its address changed. */
  #tutor-member-experience .tutor-session-actions.is-docked{
    display:grid;flex:0 0 auto;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px;
  }
  #tutor-member-experience .tutor-session-actions.is-docked .tutor-button{
    margin:0;min-height:44px;padding:9px 10px;width:100%;
  }

  /* The mobile tab bar used to stick at top:70px and sit on top of the board's
     own flag and Study Mode controls. Inside a fitted round it stays in flow. */
  #tutor-member-experience .tutor-session:has(.tutor-board-panel.is-round-stage) .tutor-mobile-tabs{position:static;top:auto}

  /* (3) STATIONARY CONTROLS — motion that cannot move a box. */
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-stage-round{animation-name:tutor-stage-fade}
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-answer-choice.is-correct{animation-name:tutor-answer-correct-hold}
}

@keyframes tutor-stage-fade{from{opacity:0}to{opacity:1}}
@keyframes tutor-answer-correct-hold{0%,100%{box-shadow:0 0 0 0 rgba(59,155,212,0)}45%{box-shadow:0 0 0 7px rgba(59,155,212,.34)}}

@media screen and (max-width:760px){
  #tutor-member-experience .tutor-board-panel.is-round-stage{
    --tutor-stage-gutter:104px;
    --tutor-reveal-reserve:68px;
    height:calc(100dvh - var(--tutor-stage-gutter));
    max-height:calc(100dvh - var(--tutor-stage-gutter));
    min-height:320px;
  }
  /* Fine print keeps its words and its size; only its whitespace is reclaimed,
     because on a phone that whitespace was costing the round a whole row. */
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-board-license{margin-top:5px;padding-top:3px}
  /* A phone has no room for a long question at full height. Capping it here —
     rather than letting the deck compress under pressure — is what keeps the
     deck at its natural size, so slack lands in the brief and the choices below
     the question never drift when the header changes between rounds. */
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-challenge{max-height:7.5vh}
  #tutor-member-experience .tutor-session-actions.is-docked{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}
  #tutor-member-experience .tutor-session-actions.is-docked .tutor-button{font-size:11.5px;letter-spacing:.02em;padding:8px 5px}
}

/* The motion above is decoration; the reserved slots and the fitted column are
   structure. Reduced motion keeps the structure and drops the decoration. */
@media(prefers-reduced-motion:reduce){
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-stage-round,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-answer-choice.is-correct,
  #tutor-member-experience .tutor-board-panel.is-round-stage .tutor-answer-explain{animation:none!important}
}
