/* Shared visual language for every step of the Mindscore flow. */
:root {
  --ui-ink: #17213d;
  --ui-copy: #4b5568;
  --ui-brand: #6528ed;
  --ui-brand-dark: #4616b8;
  --ui-tint: #ffffff;
  --ui-line: #bcc5d6;
  --ui-radius-sm: 12px;
  --ui-radius: 18px;
  --ui-radius-lg: 24px;
  --ui-radius-cta: 28px;
  --ui-page-width: 456px;
  --ui-gutter: 24px;
  --ui-gap: 12px;
  --ui-section: 24px;
  --funnel-title: var(--ui-ink);
  --funnel-copy: var(--ui-copy);
  --funnel-accent: var(--ui-brand);
  --funnel-radius: var(--ui-radius);
  --funnel-border: var(--ui-line);
  --purple: var(--ui-brand);
  --violet: var(--ui-brand);
  color: var(--ui-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
}
#app { background: linear-gradient(180deg,#ffffff 0,#fff 220px); }
#app header {
  width: 100%; max-width: calc(var(--ui-page-width) + var(--ui-gutter)*2);
  height: 68px; min-height: 68px; padding: 0 var(--ui-gutter);
  position: relative;
}
#app .brand { font-size: 24px; font-weight: 750; letter-spacing: -.9px; color: var(--ui-ink); }
#app .brand small { border-radius: 6px; background: var(--ui-brand); color: #fff; padding: 4px; }
#app .back { left: calc(var(--ui-gutter) - 8px); top: 14px; width: 40px; height: 40px; border-radius: 14px; background: transparent; display: grid; place-items: center; color: #6e5688; }
#app .back:hover { background: #eee7f8; }
#app .journey { width: calc(100% - var(--ui-gutter)*2); max-width: var(--ui-page-width); height: 4px; border-radius: 4px; margin: 0 0 28px; background: #eee7f7; }
#app .journey span { height: 4px; border-radius: inherit; background: linear-gradient(90deg,#b090ec,var(--ui-brand)); }
#app main { width: calc(100% - var(--ui-gutter)*2); max-width: var(--ui-page-width); padding-top: 0; padding-bottom: 24px; overflow-y: auto; overflow-x: hidden; scrollbar-width: none; overscroll-behavior-y: contain; }
#app main::-webkit-scrollbar { display:none; }
#app main h1 { font-size: 30px; line-height: 1.2; letter-spacing: -.8px; font-weight: 700; color: var(--ui-ink); margin-top: 0; margin-bottom: 16px; text-wrap: balance; }
#app main h1 em { color: var(--ui-brand); font-weight: inherit; }
#app main h2 { letter-spacing: -.35px; }
#app main :is(.subtitle,.challenge-heading>p,.explainer-copy p,.photo-break-copy p,.easy-start-copy p,.membership-intro>p,.gift-heading>p,.plan-bar-heading>p,.illustrated-roadmap-heading>p) { font-size: 16px; line-height: 1.55; color: var(--ui-copy); }
#app :is(.micro,.demo-label,.membership-billing,.reference-feed-cta>span,.session-chart-caption,.plan-bar-unlock,.illustrated-roadmap-note) { font-size: 12px; line-height: 1.45; color: var(--ui-copy); letter-spacing: 0; }
#app main :is(.section-kicker,.eyebrow) { display: none; }
#app footer { display: none; }

/* A single button system, with clear secondary actions and focus states. */
#app :is(.primary,.game-actions .primary,.popup-answer.primary) {
  min-height: 54px!important; padding: 15px 20px!important; border-radius: var(--ui-radius-cta)!important;
  font-size: 16px!important; line-height: 1.25; font-weight: 650; letter-spacing: -.15px;
  background: var(--ui-brand); border: 0; color: #fff; box-shadow: 0 5px 0 var(--ui-brand-dark);
}
#app .primary:hover:not(:disabled) { background: #5830cc; box-shadow: 0 5px 0 #3e1e9f; transform: translateY(-1px); }
#app .primary:active:not(:disabled) { transform: translateY(3px); box-shadow: 0 2px 0 var(--ui-brand-dark); }
#app .primary:disabled { background: #64748b; color: white; box-shadow: 0 4px 0 #475569; opacity: 1; }
#app .text-button { font-size: 14px; line-height: 1.4; color: #72558d; min-height: 36px; padding: 8px 10px; text-underline-offset: 3px; }
#app :is(button,input,[role=button]):focus-visible { outline: 3px solid #bc9fee; outline-offset: 3px; }
#app .bottom-action { padding-top: 24px; padding-bottom: 5px; }
#app .bottom-action .micro { margin: 14px 0 0; }
#app .testimonial-floating-cta { width: calc(100% - var(--ui-gutter)*2); max-width: var(--ui-page-width); bottom: max(16px,env(safe-area-inset-bottom)); padding: 16px 0 8px; gap: 12px; }
#app :is(.answer-options,.age-options,.plan-options,.popup-choices) { gap: var(--ui-gap); }
#app :is(.answer-card,.age-answer) { border: 1px solid var(--ui-line); border-radius: var(--ui-radius); min-height: 68px; padding: 18px; background: #fff; font-size: 16px; line-height: 1.4; font-weight: 550; color: var(--ui-ink); box-shadow: 0 3px 0 #f0ebf6; gap: 14px; }
#app :is(.answer-card,.age-answer):hover:not(:disabled) { border-color: #b393df; background: #fcfaff; }
#app :is(.answer-card,.age-answer).selected { border-color: #a17ddd; background: #6528ed; color: #6034bb; box-shadow: 0 3px 0 #e5d7f7; }
#app .answer-grid .answer-card { min-height: 112px; }
#app .answer-indicator { width: 20px; height: 20px; border-color: #c9b8dc; }
#app .question-page h1 { margin-bottom: 28px; }
#app .question-tip { margin-top: 20px; padding: 14px 16px; border-radius: var(--ui-radius-sm); font-size: 14px; line-height: 1.5; background: var(--ui-tint); color: var(--ui-copy); }

/* Images and explanatory pages share the same edge and text rhythm. */
#app :is(.easy-hero-image,.photo-break-art,.membership-photo,.welcome-carousel) { border-radius: var(--ui-radius-lg); overflow: hidden; }
#app :is(.easy-hero-image,.photo-break-art,.explainer-art) { margin-bottom: 24px; }
#app :is(.easy-hero-image img,.photo-break-art img,.membership-photo img) { border-radius: inherit; }
#app :is(.training-explainer-page,.photo-break-page,.plan-bar-page,.illustrated-roadmap,.reference-review-feed) { padding-bottom: 108px; }
#app .explainer-copy h1 { margin-bottom: 16px; }
#app .explainer-copy p { margin: 0; }
#app .explainer-art { height: 290px; max-height: 36vh; }
#app .reference-review-feed .feed-heading h1 { font-size: 28px; margin-bottom: 24px; }
#app .reference-review-feed .feed-copy p { font-size: 15px; line-height: 1.5; color: #4e425d; margin: 5px 0 10px; }
#app .reference-review-feed .feed-author strong { font-size: 14px; color: #574b62; }
#app .reference-review-feed .review-loop-group { gap: 28px; padding-right: 2px; padding-left: 2px; }

/* Forms, progress, charts, and subscription surfaces. */
#app :is(.profile-form,.checkout-form) { width: 100%; text-align: left; }
#app .profile-page .profile-form { margin-top: 28px; }
#app :is(.profile-form label,.checkout-form label) { font-size: 14px; line-height: 1.4; color: #63516f; margin-bottom: 8px; }
#app :is(.profile-form input,.checkout-form input) { min-height: 56px; padding: 16px; font-size: 16px; line-height: 1.4; border: 1px solid #dcd0e9; border-radius: var(--ui-radius); color: var(--ui-ink); background: white; }
#app :is(.profile-form input,.checkout-form input)::placeholder { color: #a095aa; }
#app :is(.preparation-loaders,.session-chart,.order-summary,.confirmation-card,.plan-card,.daily-plan) { border: 1px solid var(--ui-line); border-radius: var(--ui-radius-lg); padding: 24px; background: #fcfaff; box-shadow: 0 6px 24px #42276105; }
#app .preparation-loaders { margin-top: 28px; gap: 24px; }
#app .preparation-label { font-size: 14px; line-height: 1.4; }
#app .preparation-number { width: 26px; height: 26px; font-size: 12px; }
#app .preparation-track { margin-left: 35px; height: 7px; margin-top: 10px; }
#app .preparation-status { font-size: 14px; color: var(--ui-copy); margin-top: 20px; }
#app .preparation-overlay { padding: 24px; }
#app :is(.preparation-popup,.legal-card) { border-radius: 28px; padding: 28px 24px; max-height: calc(100dvh - 48px); overflow-y: auto; }
#app .preparation-popup h2 { font-size: 25px; line-height: 1.3; }
#app .preparation-popup p { font-size: 15px; line-height: 1.5; margin: 16px 0 24px; }
#app .popup-step { font-size: 12px; letter-spacing: .5px; }
#app .popup-question-image { border-radius: 20px; margin-top: 16px; margin-bottom: 20px; }
#app .illustrated-roadmap-heading { margin-bottom: 24px; }
#app .illustrated-week-list { gap: 12px; flex: none; max-height: none; }
#app .illustrated-week { border-radius: var(--ui-radius); padding: 16px 14px; gap: 14px; min-height: 106px; }
#app .week-picture { width: 70px; height: 70px; border-radius: var(--ui-radius-sm); }
#app .week-overview h2 { font-size: 17px; line-height: 1.25; margin-bottom: 6px; }
#app .week-overview p { font-size: 13px; line-height: 1.45; color: var(--ui-copy); }
#app .week-overview-meta { margin-bottom: 6px; }
#app .week-overview-meta :is(span,small) { font-size: 12px; }
#app .session-chart-header h2 { font-size: 17px; }
#app .session-chart-header>span { font-size: 12px; }
#app .session-bar-topic { font-size: 12px; line-height: 1.2; width: 76px; color: #746081; }
#app .session-bar-column>span { font-size: 12px; color: var(--ui-copy); }
#app .plan-bar-summary { padding-top: 20px; gap: 12px; }
#app .plan-bar-summary p { font-size: 14px; line-height: 1.5; }
#app .reference-paywall .membership-photo { height: 116px; margin-bottom: 20px; flex: none; }
#app .membership-intro>p { margin-bottom: 24px; }
#app .membership-coupon { border-radius: var(--ui-radius); padding: 16px; }
#app .membership-coupon strong { font-size: 14px; }
#app .membership-coupon small { font-size: 12px; }
#app .reference-paywall .plan-options { padding-top: 16px; }
#app .reference-paywall :is(.subscription,.subscription.selected) { border-radius: var(--ui-radius); padding: 18px 14px; min-height: 88px; gap: 10px; }
#app .reference-paywall .subscription-name strong { font-size: 16px; flex-wrap: wrap; gap: 4px 8px; }
#app .reference-paywall .subscription-name small { font-size: 12px; line-height: 1.4; }
#app .reference-paywall .subscription-price { font-size: 26px; color: #604081; }
#app .reference-paywall .subscription-price small { font-size: 12px; }
#app .reference-paywall .radio-dot { margin-right: 0; }
#app .plan-recommendation { font-size: 11px; }
#app .membership-billing { margin-top: 16px; }
#app .reference-paywall .bottom-action { margin-top: 0; }
#app .order-summary { margin: 24px 0; }
#app .order-summary small { font-size: 12px; }
#app .checkout-details { font-size: 13px; line-height: 1.5; margin: 18px 0; }
#app .dummy-card { padding: 16px; border-radius: 16px 16px 0 0; font-size: 15px; }
#app .dummy-card-bottom { border-radius: 0 0 16px 16px; font-size: 14px; }
#app .dummy-card-bottom span { padding: 12px 16px; }
#app .confirmation-card { margin: 24px 0; }
#app .confirmation-card h2 { font-size: 20px; }
#app .confirmation-card p { font-size: 16px; line-height: 1.5; }
#app .week-tabs { gap: 10px; margin-top: 24px; }
#app .week-tabs button { border-radius: 14px; padding: 12px 6px; font-size: 14px; }
#app .daily-plan { min-height: 440px; }
#app .daily-plan p { font-size: 15px; line-height: 1.4; }
#app .daily-plan small { font-size: 13px; }

/* Games remain on the page, without an enclosing card. */
#app :is(.challenge-panel,.game-stage) { background: transparent!important; border: 0!important; padding: 0!important; box-shadow: none!important; border-radius: 0!important; margin-top: 24px; }
#app .game-stage:before,#app .game-stage:after { display: none; }
#app .challenge-heading h1 { margin-bottom: 12px; }
#app .challenge-panel { gap: 16px; }
#app :is(.challenge-choices,.line-order-choices,.code-keypad,.maze-pad) { gap: 12px; }
#app :is(.challenge-choices button,.line-order-choices button,.code-keypad button,.maze-pad button,.letter-keyboard button) { border-radius: var(--ui-radius-sm); border: 1px solid #ddd0ec; background: #fff; color: #7450a1; box-shadow: 0 3px 0 #e9dff5; font-weight: 600; }
#app :is(.challenge-choices button,.line-order-choices button) { min-height: 58px; padding: 14px; font-size: 21px; }
#app :is(.challenge-choices button,.line-order-choices button,.code-keypad button,.maze-pad button):hover:not(:disabled) { background: var(--ui-tint); border-color: #a885d6; }
#app .code-clue { font-size: 28px; line-height: 1.3; gap: 24px; padding: 4px 0; }
#app .code-clue span { color: var(--ui-brand); letter-spacing: 4px; }
#app .code-clue strong { color: var(--ui-ink); }
#app .code-input-label { font-size: 14px; color: var(--ui-copy); margin: 4px 0 -4px; }
#app .code-answer { min-height: 58px; max-width: 228px; padding: 12px 16px; border-radius: 16px; font-size: 25px; background: #faf7ff; border-color: #c9b4e7; }
#app .code-keypad button { min-height: 46px; font-size: 18px; }
#app .code-keypad button[data-digit=Clear] { font-size: 14px; }
#app .challenge-submit { margin-top: 6px; }
#app .challenge-feedback { font-size: 13px; line-height: 1.4; color: var(--ui-copy); margin: 16px 0 0; min-height: 20px; }
#app .challenge-feedback:empty { min-height: 8px; margin-top: 8px; }
#app .challenge-skip { margin-top: 8px; min-height: 40px; font-size: 14px; }
#app .challenge-inline-actions { gap: 16px; }
#app .challenge-inline-actions .text-button { font-size: 13px; }
#app .bird-scene { border-radius: var(--ui-radius); }
#app .cell { border-radius: var(--ui-radius-sm)!important; }
#app .stage-status { font-size: 14px; color: var(--ui-copy); line-height: 1.4; }
#app .stage-top { font-size: 12px; color: var(--ui-copy); letter-spacing: .2px; }
#app .maze-pad button { width: 46px; min-height: 44px; }
#app .fine-maze { border-radius: var(--ui-radius-sm); }
#app .trace-progress { font-size: 14px; color: var(--ui-copy); }
#app .hangman-chances>span { font-size: 12px; }
#app .letter-keyboard { gap: 6px; }
#app .letter-keyboard button { min-height: 40px; font-size: 14px; border-radius: 9px; }
#app .word-slots { gap: 8px; }

/* Catalog and offer retain their images with consistent spacing. */
#app .game-library-page h1 { font-size: clamp(18px,5.4vw,27px); line-height: 1.25; margin-bottom: 24px!important; }
#app .game-library-page h1 em { white-space: nowrap; }
#app .library-grid { gap: 18px 12px; padding: 1px 1px 8px; }
#app .library-game img { border-radius: var(--ui-radius); }
#app .library-game h3 { font-size: 12px; line-height: 1.35; margin-top: 8px; color: #4b385f; }
#app .library-more { font-size: 12px; padding: 12px; border-radius: var(--ui-radius-sm); margin-top: 16px; color: var(--ui-copy); }
#app .game-library-page .bottom-action { padding-top: 20px; }
#app .gift-offer-page .gift-heading { margin: 0 0 28px; }
#app .gift-offer-page .gift-boxes { gap: 12px; }
#app .gift-box { border-radius: var(--ui-radius); padding: 12px; }
#app .gift-box-label { font-size: 14px; }
#app .gift-offer-page .gift-result { border-radius: var(--ui-radius-lg); margin-top: 40px; }
#app .gift-offer-page .gift-result p { font-size: 16px; }

@media(max-width:360px) {
  :root { --ui-gutter: 20px; }
  #app main h1 { font-size: 27px; }
  #app .reference-paywall .subscription-price { font-size: 23px; }
  #app .reference-paywall :is(.subscription,.subscription.selected) { padding: 16px 12px; }
  #app .library-grid { gap: 16px 10px; }
  #app .library-game h3 { font-size: 12px; }
  #app .week-picture { width: 58px; height: 58px; }
  #app .illustrated-week { gap: 12px; padding: 14px 12px; }
}
@media(max-height:680px) and (max-width:599px) {
  #app header { height: 58px; min-height: 58px; }
  #app .back { top: 9px; }
  #app .journey { margin-bottom: 20px; }
  #app main h1 { font-size: 26px; }
  #app main { padding-bottom: 20px; }
  #app :is(.training-explainer-page,.photo-break-page,.plan-bar-page,.illustrated-roadmap,.reference-review-feed) { padding-bottom: 104px; }
  #app .challenge-panel { gap: 12px; flex: none; }
  #app .challenge-panel:has(.code-keypad) { min-height: 424px; }
  #app .challenge-panel:has(.hangman-scene) { min-height: 398px; }
  #app .challenge-panel:has(.fine-maze) { min-height: 366px; }
  #app :is(.line-order-art,.one-line-art,.arrow-escape-art) { flex: none; height: 240px; max-height: none; }
  #app .bird-scene { flex: none; max-height: 260px; }
  #app .hangman-scene { height: 166px; flex: none; }
  #app .code-clue { font-size: 24px; }
  #app .code-keypad { gap: 10px; }
  #app .code-keypad button { min-height: 44px; }
  #app .question-page h1 { margin-bottom: 24px; }
  #app .answer-card { min-height: 64px; padding: 16px; }
  #app .answer-grid .answer-card { min-height: 104px; }
  #app .preparation-loaders { padding: 20px 16px; gap: 20px; margin-top: 24px; }
  #app .preparation-label { font-size: 13px; }
  #app .preparation-flow { justify-content: flex-start; }
  #app .preparation-popup { padding: 24px 20px; }
  #app .preparation-popup h2 { font-size: 23px; }
  #app .preparation-popup .popup-question-image { max-height: 125px; margin: 12px auto 16px; }
  #app .session-chart { padding: 20px 16px; }
  #app .reference-paywall .membership-photo { height: 96px; }
  #app .gift-offer-page .gift-box { height: 120px; }
  #app .gift-offer-page .gift-result { height: 148px; margin-top: 36px; }
  #app .game-library-page h1 { font-size: clamp(18px,5.4vw,24px); margin-bottom: 20px!important; }
}
@media(min-width:600px) and (max-height:480px) {
  :root { --ui-page-width: 744px; }
  #app header { height: 48px; min-height: 48px; }
  #app .back { top: 4px; }
  #app .journey { margin-bottom: 16px; }
  #app main h1 { font-size: 26px; }
  #app main { padding-bottom: 16px; }
  #app .challenge-panel { margin: 0; gap: 10px; height: auto; min-height: 350px; }
  #app .challenge-page { align-items:start; }
  #app .challenge-heading { position: sticky; top: 0; }
  #app .challenge-skip { align-self: start; }
  #app .reference-paywall { display:flex; max-width:480px; }
  #app .illustrated-week-list { height:auto; }
  #app .illustrated-week { min-height:106px; }
  #app .gift-offer-page .gift-result { height:155px; }
  #app .game-library-page { padding-bottom:16px; }
  #app .library-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  #app .game-library-page h1 { font-size:20px; }
  #app .game-library-page h1 em { white-space:normal; }
  #app .testimonial-floating-cta { bottom:12px; }
}
@media(prefers-reduced-motion:reduce) { #app * { scroll-behavior: auto; } }
/* The full 18-game catalog fits in one viewport. */
#app .game-library-page { overflow:hidden; padding-bottom:20px; }
#app .game-library-page .library-grid { flex:1; min-height:0; overflow:hidden; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(6,minmax(0,1fr)); grid-auto-rows:unset; align-content:stretch; gap:10px 12px; padding:0; }
#app .game-library-page .library-game { height:100%; min-height:0; justify-content:flex-start; gap:5px; padding:0; }
#app .game-library-page .library-game img { width:auto; max-width:100%; height:calc(100% - 28px); max-height:78px; min-height:0; aspect-ratio:1; object-fit:contain; border-radius:12px; }
#app .game-library-page .library-game h3 { font-size:11px; line-height:1.15; margin:0; min-height:23px; flex:none; max-width:100%; }
#app .game-library-page .library-more { margin-top:12px; padding:8px; font-size:12px; }
#app .game-library-page .bottom-action { padding-top:14px; }
@media(max-height:740px) {
 #app .game-library-page h1 { margin-bottom:14px!important; }
 #app .game-library-page .library-grid { gap:7px 10px; }
 #app .game-library-page .library-game { gap:3px; }
 #app .game-library-page .library-game img { height:calc(100% - 25px); border-radius:9px; }
 #app .game-library-page .library-game h3 { font-size:10px; min-height:22px; }
 #app .game-library-page .library-more { display:none; }
 #app .game-library-page .bottom-action { padding-top:12px; }
}
@media(min-width:600px) and (max-height:480px) {
 #app .game-library-page .library-grid { grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:10px 8px; }
 #app .game-library-page .library-game h3 { font-size:10px; }
}
#app .back { transform:none; }
#app .back:active:not(:disabled) { transform:translateY(1px); }
#app .reference-paywall .bottom-action { position:sticky; bottom:-1px; z-index:3; background:linear-gradient(transparent,#fff 18px); padding-top:24px; padding-bottom:16px; }
/* Exact layout requested for the unlock catalog reference. */
#app[data-page="game-library"] { background:#fdfcff; }
#app[data-page="game-library"] header { height:44px; min-height:44px; max-width:512px; }
#app[data-page="game-library"] header .brand,#app[data-page="game-library"] .journey { display:none; }
#app[data-page="game-library"] .back { left:14px; top:14px; width:38px; height:38px; border-radius:12px; background:white; border:1px solid #f0edf7; box-shadow:0 2px 5px #2d174b09; color:#6834e6; z-index:1; }
#app[data-page="game-library"] .back svg { width:20px; height:20px; }
#app .exact-game-library { width:calc(100% - 56px); max-width:456px; display:flex; flex-direction:column; padding:8px 0 16px; text-align:center; overflow:hidden; }
#app .exact-game-library h1 { font-size:clamp(19px,6vw,28px); line-height:1.14; letter-spacing:-.5px; color:#121c43; font-weight:750; margin:0 0 26px!important; }
#app .exact-game-library h1 em { color:#6133e6; letter-spacing:inherit; }
#app .exact-game-library .library-section-title { display:block; text-align:left; font-size:clamp(12px,3.5vw,16px); color:#172041; font-weight:700; margin:0 0 10px; line-height:1.25; }
#app .exact-game-library .library-grid { display:grid; flex:1; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(5,minmax(0,1fr)); gap:9px; min-height:0; overflow:hidden; padding:2px; }
#app .exact-game-library .library-game { height:100%; min-height:0; min-width:0; padding:9px 3px 8px; border:1px solid #f2eff6; border-radius:14px; background:#fff; box-shadow:0 2px 5px #25133f06; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; }
#app .exact-game-library .reference-game-icon { width:64px; max-width:90%; height:53px; min-height:0; flex:0 1 auto; background-image:url('assets/game-library-reference.webp'); background-size:545.9259259% 1428.5714286%; background-position:var(--sprite-x) var(--sprite-y); background-repeat:no-repeat; mix-blend-mode:multiply; }
#app .exact-game-library .library-game h3 { min-height:0; font-size:clamp(8px,2.65vw,12px); font-weight:650; line-height:1.15; margin:3px 0 0; letter-spacing:-.15px; white-space:nowrap; color:#18213e; flex:none; }
#app .exact-game-library .library-game p { display:block; font-size:clamp(7px,2.25vw,10px); line-height:1.2; letter-spacing:-.1px; color:#52596d; margin:0; white-space:nowrap; flex:none; }
#app .exact-game-library .library-more { display:flex; align-items:center; justify-content:center; gap:10px; border-radius:13px; background:#f2edff; padding:7px 6px; margin:10px 0 0; font-size:clamp(9px,2.6vw,12px); line-height:1.25; color:#243051; flex:none; }
#app .exact-game-library .library-more span { margin:0; width:19px; height:19px; border-radius:50%; background:#6534e9; color:white; display:grid; place-items:center; font-size:15px; }
#app .exact-game-library .bottom-action { padding:10px 0 0; margin-top:0; flex:none; }
#app .exact-game-library .primary { min-height:44px!important; padding:11px 10px!important; border-radius:13px!important; background:linear-gradient(100deg,#5b2fea,#512eed); box-shadow:0 3px 7px #4d2dcc24; font-size:16px!important; font-weight:650; gap:14px; }
#app .exact-game-library .primary:hover { background:#5126e6; box-shadow:0 3px 7px #4d2dcc24; }
#app .library-crown { display:grid; place-items:center; color:#f2c446; font-size:22px; line-height:1; }
#app .library-premium { display:flex; align-items:center; justify-content:center; gap:8px; font-size:11px; line-height:1.25; color:#959aac; margin:12px 0 0; }
@media(max-height:680px) {
 #app[data-page="game-library"] header { height:34px; min-height:34px; }
 #app[data-page="game-library"] .back { top:9px; width:30px; height:30px; border-radius:10px; }
 #app .exact-game-library { width:calc(100% - 40px); padding-top:5px; padding-bottom:10px; }
 #app .exact-game-library h1 { font-size:20px; margin-bottom:14px!important; }
 #app .exact-game-library .library-section-title { font-size:12px; margin-bottom:8px; }
 #app .exact-game-library .library-grid { gap:6px; }
 #app .exact-game-library .library-game { padding:5px 2px; gap:3px; border-radius:11px; }
 #app .exact-game-library .reference-game-icon { width:49px; height:41px; }
 #app .exact-game-library .library-game h3 { margin-top:2px; }
 #app .exact-game-library .library-more { margin-top:8px; padding:5px; }
 #app .exact-game-library .library-more span { width:16px; height:16px; font-size:12px; }
 #app .exact-game-library .bottom-action { padding-top:8px; }
 #app .exact-game-library .primary { min-height:40px!important; padding:9px 10px!important; font-size:14px!important; }
 #app .library-premium { margin-top:9px; font-size:10px; }
}
@media(min-width:600px) and (max-height:480px) {
 #app .exact-game-library { max-width:744px; display:grid; grid-template-columns:1fr 2fr; grid-template-rows:auto 1fr auto; gap:0 20px; }
 #app .exact-game-library h1 { grid-column:1; grid-row:1; margin-top:16px!important; }
 #app .exact-game-library .library-section-title { grid-column:2; grid-row:1; }
 #app .exact-game-library .library-grid { grid-column:2; grid-row:2/4; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); }
 #app .exact-game-library .library-more { grid-column:1; grid-row:2; align-self:start; }
 #app .exact-game-library .bottom-action { grid-column:1; grid-row:3; }
 #app .exact-game-library .library-game h3 { font-size:8px; }
 #app .exact-game-library .library-game p { font-size:7px; }
}
#app .exact-game-library .custom-game-icon { background:none; display:flex; align-items:center; justify-content:center; }
#app .exact-game-library .custom-game-icon img { display:block; height:100%; width:auto; max-width:100%; aspect-ratio:1; object-fit:contain; border-radius:9px; }

/* Bright, saturated accents on clean white surfaces throughout the flow. */
:root { --ui-blue:#086bea; --ui-cyan:#00b9df; --ui-yellow:#ffd22e; --ui-orange:#ff9519; --muted:var(--ui-copy); }
body,#app,#app[data-page="game-library"] { background:#fff; }
#app .back,#app .text-button { color:var(--ui-brand); }
#app .back:hover { background:var(--ui-brand); color:white; }
#app .journey { background:#dce1e8; }
#app .journey span { background:linear-gradient(90deg,#008fee,#6528ed); }
#app .primary:hover:not(:disabled) { background:#511acf; box-shadow:0 5px 0 #371099; }
#app :is(button,input,[role=button]):focus-visible { outline-color:#0874ed; }
#app :is(.answer-card,.age-answer) { border-color:#8b6ce5; box-shadow:0 3px 0 #dce1e8; }
#app :is(.answer-card,.age-answer):hover:not(:disabled) { border-color:var(--ui-brand); background:#fff; box-shadow:0 3px 0 var(--ui-brand); }
#app :is(.answer-card,.age-answer).selected { background:var(--ui-brand); border-color:var(--ui-brand); color:#fff; box-shadow:0 3px 0 var(--ui-brand-dark); }
#app :is(.answer-card,.age-answer).selected :is(strong,small,span) { color:inherit; }
#app .answer-indicator { border-color:#8b6ce5; }
#app .selected .answer-indicator { border-color:#fff; background:#fff; color:var(--ui-brand); }
#app .question-tip { background:var(--ui-blue); color:#fff; }
#app :is(.profile-form label,.checkout-form label,.feed-author strong,.feed-copy p,.subscription-name strong,.daily-plan p strong,.order-summary>div) { color:var(--ui-ink); }
#app :is(.profile-form input,.checkout-form input,.code-answer) { border-color:#8b6ce5; background:#fff; }
#app :is(.profile-form input,.checkout-form input)::placeholder { color:#697386; }
#app :is(.preparation-loaders,.session-chart,.order-summary,.confirmation-card,.plan-card,.daily-plan) { background:#fff; border-color:#bcc5d6; }
#app :is(.loading-orb,.success-orb,.popup-spark,.plan-icon,.plan-bar-symbol) { background:var(--ui-brand); color:#fff; }
#app :is(.pill,.preview-badge,.demo-label) { background:var(--ui-yellow); color:#17213d; }
#app :is(.dots i,.word-slots span) { border-color:#8791a3; }
#app .dots i { background:#a5adbb; }
#app .dots i.done { background:var(--ui-brand); }
#app .game-stage .cell { background:#fff; color:var(--ui-brand); border:1px solid #8b6ce5; box-shadow:0 3px 0 #9c82df; }
#app .game-stage .cell:is(.lit,.chosen,.found) { background:var(--ui-brand)!important; color:#fff!important; border-color:var(--ui-brand)!important; box-shadow:0 3px 0 var(--ui-brand-dark)!important; }
#app :is(.challenge-choices button,.line-order-choices button,.code-keypad button,.maze-pad button,.letter-keyboard button) { color:var(--ui-brand); border-color:#8b6ce5; background:#fff; box-shadow:0 3px 0 #d2d6df; }
#app :is(.challenge-choices button,.line-order-choices button,.code-keypad button,.maze-pad button):hover:not(:disabled) { background:var(--ui-brand); color:#fff; border-color:var(--ui-brand); }
#app .letter-keyboard .letter-right { background:#00954a; color:#fff; border-color:#00783d; box-shadow:0 3px 0 #006c35; }
#app .letter-keyboard .letter-wrong { background:#e32243; color:#fff; border-color:#bc1330; box-shadow:0 3px 0 #a50e29; }
#app .hangman-chances strong,#app .hangman-hearts { color:#e32243; }
#app .hangman-hearts .spent { color:#c3c8d0; }
#app .hangman-chances>span { color:var(--ui-copy); }
#app .hangman-scene>svg>g { stroke:var(--ui-ink); }
#app .math-expression { color:var(--ui-ink); }
#app .math-expression em { color:var(--ui-brand); }
#app .fine-maze { border-color:var(--ui-brand); }
#app .maze-hoop { background:#ffd22e; }
#app .week-tabs button { color:var(--ui-brand); border-color:#8b6ce5; }
#app .week-tabs button[aria-selected=true] { background:var(--ui-brand); border-color:var(--ui-brand); color:#fff; }
#app .illustrated-week { --week-accent:#007ba9; --week-tint:#fff; background:#fff; border-color:var(--week-accent); border-left:5px solid var(--week-accent); }
#app .illustrated-week[data-week-tone=lavender] { --week-accent:#6528ed; }
#app .illustrated-week[data-week-tone=peach] { --week-accent:#e96c00; }
#app .illustrated-week[data-week-tone=blue] { --week-accent:#086bea; }
#app .week-overview-meta span { color:var(--week-accent); }
#app .session-bar { background:#6528ed; }
#app .session-bar-column:nth-child(1) .session-bar { background:#007dab; }
#app .session-bar-column:nth-child(2) .session-bar { background:#086bea; }
#app .session-bar-column:nth-child(4) .session-bar { background:#b519da; }
#app :is(.session-bar-topic,.session-bar-column>span,.daily-plan small,.daily-plan>div>span,.subscription-name small,.subscription-price small,.order-summary small) { color:var(--ui-copy); }
#app .gift-box { background:#fff; border-color:#ff9519; box-shadow:0 4px 0 #e96c00; color:#974100; }
#app .gift-box.gift-opened,#app .gift-boxes .gift-tone-1.gift-opened,#app .gift-tone-2.gift-opened { background:#ffd22e; border-color:#e96c00; color:#582800; box-shadow:0 4px 0 #e96c00; }
#app .gift-result { background:#fff; border-color:var(--ui-brand); }
#app .gift-result h2 { color:var(--ui-brand); }
#app :is(.gift-result-top,.gift-result p,.gift-result small,.gift-round-label,.gift-included) { color:var(--ui-copy); }
#app .membership-coupon { background:#ffd22e; border-color:#e8aa00; color:#302100; }
#app .membership-coupon small { color:#574000; }
#app .membership-coupon>div+div { border-color:#9c7100; }
#app .reference-paywall .subscription.selected { background:var(--ui-brand)!important; border-color:var(--ui-brand)!important; box-shadow:0 3px 0 var(--ui-brand-dark)!important; color:white; }
#app .reference-paywall .subscription-price { color:var(--ui-ink); }
#app .reference-paywall .subscription.selected :is(strong,small,s,.subscription-price) { color:#fff; }
#app .subscription.selected .radio-dot { border-color:#fff; }
#app .subscription.selected .radio-dot:after { background:#fff; }
#app .plan-recommendation { background:var(--ui-yellow); color:#302100; }
#app .exact-game-library .library-more { background:var(--ui-brand); color:#fff; }
#app .exact-game-library .library-more span { background:var(--ui-yellow); color:#3c2385; }
#app .exact-game-library .primary { background:var(--ui-brand); }
#app .exact-game-library .library-game { border-color:#d7dce5; }
#app .library-premium { color:#606b80; }
#app .library-crown { color:var(--ui-yellow); }

/* Reference loading layout: uninterrupted progress, then a photo/review card. */
#app[data-page="preparing"] header,#app[data-page="preparing"] .journey { display:none; }
#app .preparation-reference { justify-content:flex-start; align-items:stretch; padding-top:26px; padding-bottom:24px; gap:0; }
#app .preparation-reference .preparation-heading h1 { font-size:24px; line-height:1.25; margin:0 0 32px; letter-spacing:-.45px; }
#app .preparation-reference .preparation-loaders { margin:0; padding:0; gap:13px; border:0; border-radius:0; background:none; box-shadow:none; }
#app .preparation-reference .preparation-label { font-size:14px; color:#151c2c; gap:5px; }
#app .preparation-reference .preparation-percent { color:#151c2c; font-size:14px; }
#app .preparation-reference .preparation-track { height:9px; margin:6px 0 0; background:#e1e3e7; }
#app .preparation-reference .preparation-track>span { background:linear-gradient(90deg,#00acef,#7131f5 65%,#c52cf0); }
.preparation-spinner { display:none; width:14px; height:14px; border:2px solid #d2d6df; border-top-color:#6528ed; border-radius:50%; animation:preparation-spin .7s linear infinite; }
.preparation-step.active .preparation-spinner { display:block; }
@keyframes preparation-spin { to { transform:rotate(360deg); } }
#app .preparation-review { display:flex; flex-direction:column; flex:1; min-height:330px; margin-top:26px; border-radius:24px; overflow:hidden; background:#291168; color:#fff; text-align:left; }
.preparation-review-photo { position:relative; min-height:150px; flex:1; max-height:260px; }
.preparation-review-photo img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:50% 42%; }
.preparation-review-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 45%,#291168); }
.preparation-review-copy { padding:0 28px 27px; position:relative; }
#app .preparation-review .stars { color:#ffd22e; font-size:27px; letter-spacing:5px; line-height:1; margin:0 0 20px; }
.preparation-review blockquote { color:#fff; font-size:18px; line-height:1.5; margin:0 0 22px; font-weight:500; }
.preparation-review p { font-size:16px; font-weight:650; margin:0 0 8px; }
.preparation-review small { color:#fff; font-size:12px; }
#app .preparation-reference .preparation-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; margin:0; }
@media(max-height:680px) {
 #app .preparation-reference { padding-top:20px; padding-bottom:16px; }
 #app .preparation-reference .preparation-heading h1 { font-size:22px; margin-bottom:22px; }
 #app .preparation-reference .preparation-loaders { gap:10px; }
 #app .preparation-review { min-height:290px; margin-top:22px; }
 .preparation-review-photo { min-height:115px; }
 .preparation-review-copy { padding:0 22px 20px; }
 #app .preparation-review .stars { font-size:23px; margin-bottom:14px; }
 .preparation-review blockquote { font-size:16px; margin-bottom:14px; }
}
@media(min-width:600px) and (max-height:480px) {
 #app .preparation-reference { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto 1fr; gap:0 28px; }
 #app .preparation-reference .preparation-heading { grid-column:1; grid-row:1; }
 #app .preparation-reference .preparation-loaders { grid-column:1; grid-row:2; align-self:start; }
 #app .preparation-reference .preparation-review { grid-column:2; grid-row:1/3; margin:0; min-height:0; }
 .preparation-review-photo { min-height:80px; }
 .preparation-review-copy { padding:0 20px 16px; }
 .preparation-review blockquote { font-size:14px; line-height:1.4; margin-bottom:10px; }
}
@media(prefers-reduced-motion:reduce) { .preparation-spinner { animation:none; } }
#app .age-tip { background:var(--ui-yellow); color:#302100; }

/* Real photography in an aligned, two-column routine comparison. */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#app .routine-comparison-page { align-items:stretch; }
#app .routine-comparison-page h1 { margin-bottom:12px; }
#app .routine-comparison-page>.subtitle { margin-bottom:24px; }
.routine-table-wrap { border:1px solid #d7dce5; border-radius:20px; overflow:hidden; flex:none; }
.routine-comparison { border-collapse:collapse; table-layout:fixed; width:100%; text-align:left; }
.routine-comparison th { font-size:15px; line-height:1.4; padding:15px 12px; color:white; background:#475569; font-weight:650; }
.routine-comparison th+th { background:#6528ed; }
.routine-comparison td { width:50%; padding:14px 12px; font-size:14px; line-height:1.4; color:#344054; vertical-align:middle; border-top:1px solid #e1e5eb; }
.routine-comparison td+td { border-left:1px solid #e1e5eb; color:#4d16bd; font-weight:600; }
.routine-comparison .routine-photo-row td { padding:0; border:0; }
.routine-comparison img { display:block; width:100%; height:clamp(170px,27vh,230px); object-fit:cover; object-position:50% 35%; }
.routine-photo-note { font-size:11px; line-height:1.5; color:#687386; margin:12px 0 0; }
.routine-photo-note a { color:inherit; text-underline-offset:2px; }
#app[data-page="intro-plan"] .session-bar-column .session-bar { background:#009b50; }

/* A compact editorial review card, with a natural photo and a clear text panel. */
#app .preparation-review { flex:0 0 auto; min-height:0; margin-top:26px; border:1px solid #e0e4eb; background:#fff; color:var(--ui-ink); box-shadow:0 8px 24px #17213d0c; border-radius:22px; }
#app .preparation-review-photo { min-height:0; height:clamp(160px,25vh,210px); flex:none; max-height:none; }
#app .preparation-review-photo img { object-position:50% 29%; }
#app .preparation-review-photo:after { display:none; }
#app .preparation-review-copy { padding:22px 24px 24px; }
.preparation-review-kicker { color:#6528ed; font-size:11px; letter-spacing:1px; font-weight:700; margin-bottom:12px; }
#app .preparation-review .stars { color:#e9a800; font-size:19px; letter-spacing:3px; margin:0 0 14px; }
#app .preparation-review blockquote { font-size:17px; line-height:1.5; font-weight:500; color:#17213d; margin:0 0 20px; }
.preparation-review-person { display:flex; align-items:center; gap:11px; border-top:1px solid #e6e9ef; padding-top:16px; }
.preparation-review-person>span { width:36px; height:36px; border-radius:50%; background:#6528ed; color:white; display:grid; place-items:center; font-size:14px; font-weight:650; flex:none; }
#app .preparation-review-person p { font-size:14px; margin:0 0 3px; color:#17213d; }
#app .preparation-review-person small { font-size:12px; color:#667085; }

/* Privacy reassurance and a portrait group on the email-entry pages. */
#app .profile-form label[for="profile-email"] { margin-top:18px; }
#app .profile-form>.primary { margin-top:24px; }
.signup-reassurance { width:100%; margin-top:24px; text-align:center; flex:none; }
.signup-privacy { font-size:13px; line-height:1.65; color:#667085; margin:0 auto 24px; max-width:380px; }
.privacy-inline { display:inline; border:0; background:none; color:#6528ed; padding:0; font:inherit; text-decoration:underline; text-underline-offset:3px; }
.signup-portraits { display:flex; justify-content:center; padding-left:9px; }
.signup-portraits img { width:44px; height:44px; object-fit:cover; border:3px solid white; border-radius:50%; margin-left:-9px; box-shadow:0 2px 6px #17213d17; }
.signup-community { color:#475467; font-size:14px; line-height:1.5; margin:12px 0 0; }
.signup-community strong { color:#17213d; font-weight:650; }
@media(max-height:680px) {
 #app .preparation-review-photo { height:140px; }
 #app .preparation-review-copy { padding:18px 20px; }
 #app .preparation-review blockquote { font-size:16px; margin-bottom:14px; }
 .preparation-review-person { padding-top:12px; }
 .routine-comparison img { height:155px; }
 .routine-comparison td { padding:11px 10px; }
}
@media(min-width:600px) and (max-height:480px) {
 #app .preparation-reference .preparation-review { min-height:0; overflow-y:auto; }
 #app .preparation-review-photo { height:110px; }
 #app .preparation-review-copy { padding:14px 18px; }
 #app .preparation-review blockquote { font-size:14px; }
 #app .routine-comparison-page { display:flex; max-width:456px; }
}
.routine-comparison img { height:clamp(145px,22vh,185px); }
#app .app-preview-page { align-items:stretch; }
#app .app-preview-page>.subtitle { margin-bottom:24px; }
.app-video-shell { width:100%; border-radius:24px; overflow:hidden; flex:1; min-height:290px; max-height:440px; background:#191136; border:1px solid #332455; box-shadow:0 12px 30px #21134b15; display:flex; }
.app-recording { width:100%; height:100%; max-height:440px; object-fit:contain; background:#110b24; display:block; }
.app-video-placeholder { position:relative; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; color:white; background:radial-gradient(ellipse at 50% 25%,#5324b8,#191136 80%); }
.video-preview-label { font-size:11px; font-weight:750; letter-spacing:2px; margin-bottom:20px; }
.video-game-mosaic { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; width:170px; transform:rotate(-7deg); }
.video-game-mosaic img { width:80px; height:80px; border-radius:18px; object-fit:cover; box-shadow:0 5px 15px #0003; }
.video-play-symbol { width:56px; height:56px; display:grid; place-items:center; color:#6528ed; background:white; border-radius:50%; margin-top:-108px; margin-bottom:63px; position:relative; box-shadow:0 4px 18px #13082f55; }
.app-video-placeholder>strong { font-size:18px; line-height:1.4; margin-top:20px; }
.app-video-placeholder>span:last-child { color:#fff; font-size:13px; line-height:1.5; margin-top:6px; }
.video-topics { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:24px; }
.video-topics span { color:#6528ed; background:white; border:1px solid #d3c7f3; border-radius:20px; padding:7px 14px; font-size:13px; font-weight:600; }
.video-caption { font-size:14px; color:var(--ui-copy); line-height:1.5; margin:14px 0 0; }
@media(max-height:680px) {
 .app-video-shell { min-height:270px; flex:none; }
 .app-video-placeholder { padding:20px; }
 .video-game-mosaic { width:140px; gap:8px; }
 .video-game-mosaic img { width:66px; height:66px; border-radius:14px; }
 .video-play-symbol { margin-top:-92px; margin-bottom:43px; }
}
#app .age-welcome .age-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
#app .age-welcome .age-answer { min-width:0; min-height:78px; padding:14px 8px; font-size:17px; text-align:center; justify-content:center; }
@media(max-width:360px) { #app .age-welcome .age-options { gap:10px; } #app .age-welcome .age-answer { min-height:70px; font-size:15px; } }

/* Compact light violet loading card. */
#app .preparation-reference .preparation-review { flex:0 0 auto; min-height:0; margin-top:18px; border-radius:20px; background:#f1e8ff; border-color:#ddcbf5; box-shadow:0 5px 16px #5325910a; }
#app .preparation-review-photo { height:clamp(110px,16vh,140px); min-height:0; }
#app .preparation-review-copy { padding:16px 18px; }
#app .preparation-review-kicker { display:none; }
#app .preparation-review .stars { color:#d18b00; font-size:17px; letter-spacing:2px; margin:0 0 10px; }
#app .preparation-review blockquote { color:#302047; font-size:16px; line-height:1.45; margin:0 0 12px; }
#app .preparation-review-person { gap:9px; padding-top:0; border:0; }
#app .preparation-review-person>span { width:30px; height:30px; font-size:13px; }
#app .preparation-review-person p { color:#302047; font-size:13px; margin:0 0 2px; }
#app .preparation-review-person small { color:#695681; font-size:11px; }

/* Photo cards, video frame and four-week path from the supplied references. */
#app[data-page="intro-routine"] .journey,#app[data-page="app-preview"] .journey,#app[data-page="intro-plan"] .journey {display:none}
#app .routine-framed-photos {margin:0 -12px 18px;flex:none}
#app .routine-framed-photos img {display:block;width:100%;height:auto}
#app .routine-comparison-page>.subtitle {margin-bottom:12px}
#app .routine-comparison th {background:#e5f7ff;color:#24314b}
#app .routine-comparison th+th {background:#d3f3ff;color:#24314b}
#app .routine-photo-note {font-size:12px;text-align:center}
#app main.reference-video-page,#app main.bright-plan-page {padding-top:14px;padding-bottom:110px;align-items:stretch;text-align:left;color:#25194f}
#app main.reference-video-page h1 {font-size:26px;line-height:1.24;letter-spacing:-.5px;color:#25194f;margin-bottom:12px;text-wrap:initial}
#app main.reference-video-page h1 em {color:inherit}
#app main.reference-video-page>.subtitle {color:#352956;margin:0 0 28px;font-size:17px;line-height:1.5}
.walkthrough-frame {position:relative;flex:none;margin:4px 12px 22px;padding:7px;border:3px solid #281b51;border-radius:29px;box-shadow:8px 10px 0 #281b51;background:white}
.walkthrough-media {position:relative;overflow:hidden;border-radius:20px;aspect-ratio:4/5;background:#f0eaff;display:flex}
.walkthrough-media .app-recording {height:100%;max-height:none;object-fit:contain}
.walkthrough-poster {width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 14px;background:linear-gradient(150deg,#d9f4ff,#e4d4ff 55%,#c8b8ff);color:#25194f;text-align:center}
.walkthrough-eyebrow {font-size:12px;letter-spacing:1.3px;font-weight:750;margin:0 0 24px}
.walkthrough-games {width:78%;max-width:245px;display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:rotate(-7deg)}
.walkthrough-games img {width:100%;height:auto;aspect-ratio:1;border-radius:20px;box-shadow:0 5px 12px #35255b15}
.walkthrough-play {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border:0;border-radius:50%;background:#fff;color:#281b51;display:grid;place-items:center;box-shadow:0 5px 18px #281b5124;z-index:2}
.walkthrough-play[hidden] {display:none}
.walkthrough-play svg {margin-left:4px}
.walkthrough-poster strong {font-size:19px;line-height:1.3;margin-top:27px}
.walkthrough-poster p {font-size:14px;margin:7px 0 0;color:#46385f}
.walkthrough-dot {position:absolute;z-index:3;width:16px;height:16px;border-radius:50%}
.dot-blue {left:-10px;top:12px;background:#499aff}.dot-pink {left:-11px;bottom:35px;background:#ff83bd;width:19px;height:19px}
.walkthrough-star {position:absolute;right:14px;top:-23px;font-size:31px;line-height:1;color:#ffc32c;z-index:3}
#app .walkthrough-cta .primary {background:#5630f7;box-shadow:none}
#app .bright-plan-page h1 {text-align:center;font-size:27px;line-height:1.22;margin-bottom:25px;color:#25194f}
#app .bright-plan-page h1 em {color:#982bf1}
.bright-plan-chart {flex:none;background:#fcfaff;border-radius:20px;padding:20px 0 0;overflow:hidden}
.bright-plan-intro {padding:0 10px;text-align:center}
#app .bright-plan-intro h2 {font-size:17px;line-height:1.4;margin:0 0 10px;color:#25194f}
.bright-plan-intro p {font-size:16px;line-height:1.5;margin:0;color:#352956}
.bright-plan-intro strong {color:#a327db;font-weight:650}
.bright-curve {height:330px;position:relative;margin:8px 8px 0}
.bright-curve>svg {width:100%;height:100%;display:block}
.plan-milestones {list-style:none;padding:0;margin:0}
.plan-milestones li {position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:14px;line-height:1.3;text-align:center;white-space:nowrap}
.plan-milestones strong {padding:6px 10px;border-radius:20px;border:1px solid;font-weight:650;background:white}
.plan-milestones span {font-size:14px;color:#625771}
.milestone-habit {left:0;top:64%}.milestone-habit strong {background:#fff3ba;border-color:#ffd440;color:#855200}
.milestone-memory {left:21%;top:48%}.milestone-memory strong {background:#ffede4;border-color:#ffba94;color:#a13617}
.milestone-focus {right:15%;top:21%}.milestone-focus strong {background:#f0e3ff;border-color:#c591ff;color:#7124b4}
.milestone-mix {right:0;top:1%}.milestone-mix strong {background:#e0fff3;border-color:#00c18a;color:#007957}
.plan-week-axis {position:absolute;bottom:6px;left:2%;right:2%;display:flex;justify-content:space-between;font-size:14px;line-height:1.5;color:#655d70}
#app .bright-plan-note {font-size:15px;line-height:1.55;color:#443457;margin:22px 0 14px}
#app .bright-plan-unlock {font-size:14px;line-height:1.5;color:#695e77;margin:0}
#app .bright-plan-cta .primary {background:linear-gradient(100deg,#b943fa,#ca53ef);box-shadow:none}
@media(max-width:360px){#app main.reference-video-page h1,#app .bright-plan-page h1{font-size:24px}.plan-milestones strong{padding:6px}.bright-plan-intro{padding:0 8px}.bright-curve{height:340px}.milestone-memory{left:14%}.milestone-focus{right:12%}}

/* The long-form paywall follows the supplied mobile section order. */
#app[data-page="paywall"]>header,#app[data-page="paywall"]>.journey {display:none}
#app[data-page="paywall"] {background:#fff;gap:0}
#app main.long-paywall {display:block;flex:1;min-height:0;width:100%;max-width:456px;padding:12px 14px 24px;overflow-y:auto;overflow-x:hidden;text-align:center;scroll-behavior:smooth;color:#25194f}
#app .long-paywall h1,#app .long-paywall h2 {font-size:25px;line-height:1.28;letter-spacing:-.4px;font-weight:650;text-align:center;margin:0 0 20px;color:#25194f}
#app .long-paywall em {color:#5731ff;font-style:normal}
.lp-sticky-offer {width:100%;max-width:456px;flex:none;min-height:64px;padding:7px 6px;display:grid;grid-template-columns:100px 85px 1fr;align-items:center;gap:6px;background:#fff;z-index:10;color:#25194f}
.lp-sticky-offer>span {font-size:12px;line-height:1.5;text-align:left}
.lp-sticky-offer>span small {display:block;font-size:11px}
.lp-sticky-offer>.lp-countdown {font-size:27px;color:#6034ff;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:1px}
.lp-sticky-offer>button {background:#5430f7;border:0;border-radius:28px;color:white;font-size:16px;font-weight:650;padding:13px 8px;min-height:44px;white-space:nowrap}
.lp-hero {position:relative;border-radius:20px;overflow:hidden;aspect-ratio:1.63;margin:0 0 18px}
.lp-hero>img {width:100%;height:100%;object-fit:cover;display:block}
.lp-hero>span {position:absolute;top:10px;font-size:12px;line-height:1.3;padding:4px 16px;border-radius:5px;z-index:2}
.lp-now {left:8px;background:#ececec;color:#262626}.lp-goal {right:8px;background:#5731ff;color:white}
.lp-hero>i {position:absolute;left:49.5%;top:0;height:100%;width:4px;background:#6034ff;transform:skew(-12deg)}
#app .long-paywall .lp-headline {margin:0 0 18px;color:#404040;font-size:24px}
.lp-coupon {background:#f0f2dd;border-radius:18px;padding:20px 24px 14px;position:relative;margin-bottom:17px}
.lp-coupon:before,.lp-coupon:after {content:'';position:absolute;top:50%;width:18px;height:28px;background:#fff;border-radius:50%;transform:translateY(-50%)}
.lp-coupon:before {left:-9px}.lp-coupon:after{right:-9px}
.lp-coupon>div:first-child {display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:3px dashed #fff;padding:0 0 14px;font-size:14px;line-height:1.4}
.lp-coupon>div:first-child>span {font-size:28px;color:#85a936;transform:rotate(-20deg)}
.lp-coupon-bottom {display:grid;grid-template-columns:1.2fr 1fr;gap:16px;padding-top:12px;align-items:stretch}
.lp-coupon-code {display:flex;align-items:center;justify-content:space-around;background:#fff;border-radius:12px;color:#111;font-size:13px;font-weight:650;padding:12px 7px}
.lp-coupon-code i {font-size:23px;color:#79aa1a;font-style:normal}
.lp-coupon-clock {display:flex;flex-direction:column;background:#e0e9c7;border-radius:12px;justify-content:center;color:#76a514;padding:6px}
.lp-coupon-clock b {font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:3px}.lp-coupon-clock small{font-size:9px;color:#232d08}
.lp-plans {display:grid;gap:18px}
.lp-plan {display:block;width:100%;padding:0;border:2px solid #ebebeb;border-radius:17px;background:white;color:#5731ff;text-align:left;overflow:hidden;cursor:pointer}
.lp-plan.selected {border-color:#6034ff;background:#e0d8ff}
.lp-plan-body {display:flex;align-items:center;gap:12px;min-height:86px;padding:16px 12px}
.lp-plan[data-lp-plan="lifetime"] .lp-plan-body {min-height:121px}
.lp-radio {display:block;width:23px;height:23px;border:1px solid #8f8f8f;border-radius:50%;flex:none;padding:3px}
.lp-plan.selected .lp-radio {border:2px solid #6034ff;padding:3px}.lp-plan.selected .lp-radio:after {content:'';display:block;background:#6034ff;border-radius:50%;width:100%;height:100%}
.lp-plan-description {display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}
.lp-plan-description>strong {font-size:19px;line-height:1.2;font-weight:650}
.lp-plan-total {font-size:14px;line-height:1.3}.lp-plan-total s{color:#9d85ff;margin-right:3px}
.lp-forever {font-size:14px;line-height:1.3;border:2px solid #6034ff;padding:4px 7px;border-radius:8px;width:max-content;max-width:100%}
.lp-price-tag {background:#ddd;color:#5731ff;padding:7px 9px 7px 15px;border-radius:10px;clip-path:polygon(13% 0,100% 0,100% 100%,13% 100%,0 50%);flex:none}
.lp-price-tag b {display:flex;align-items:center;font-size:34px;line-height:1;font-weight:750;letter-spacing:-1px}
.lp-price-tag b>sup {font-size:16px;align-self:flex-start;padding-top:4px;margin-right:2px}
.lp-price-tag b>span {display:flex;flex-direction:column;align-items:flex-start;letter-spacing:0}
.lp-price-tag sup {font-size:16px;line-height:1}.lp-price-tag small{font-size:10px;line-height:1.1;white-space:nowrap;font-weight:500}
.lp-plan.selected .lp-price-tag {background:#5630f7;color:#fff}
.lp-plan-ribbon {display:block;background:#5430f7;text-align:center;font-size:14px;font-weight:700;color:#fff;padding:6px}
.lp-billing {font-size:12px;line-height:1.45;margin:12px 3px;color:#685d77}
#app .lp-start {width:100%;min-height:56px;display:block;border:0;border-radius:29px;padding:14px 18px;font-size:18px;font-weight:650;background:#5430f7;color:white;margin:17px 0 0;cursor:pointer;box-shadow:none}
#app .lp-start.lp-black {border-radius:8px;background:#050505;font-weight:550}
#app .lp-start.lp-mint {background:#40bf9a}
#app .long-paywall .lp-payment h2 {font-size:17px;margin:19px 0 16px;color:#101010}
.lp-payment-marks {display:flex;justify-content:space-around;gap:8px;align-items:center;border:1px solid #eaeaea;border-radius:11px;padding:10px 8px;height:46px}
.lp-visa {font-style:italic;font-size:26px;color:#24216b}
.lp-mastercard {display:flex;isolation:isolate}.lp-mastercard i{height:30px;width:30px;border-radius:50%;background:#ef0025}.lp-mastercard i+i{background:#ffad00;margin-left:-11px;opacity:.9}
.lp-discover {font-size:13px;color:#111;border-bottom:3px solid #ff9800}
.lp-amex {color:#0675c6;font-size:10px;line-height:.95}
.lp-payment>p {font-size:13px;color:#242424;line-height:1.5;margin:15px 0 32px}
.lp-guarantee {border:1px solid #e9e9e9;border-radius:12px;padding:17px 7px 10px;margin-bottom:32px}
.lp-guarantee-stamp {width:max-content;display:flex;align-items:center;gap:4px;background:#f64944;outline:2px solid #f64944;border:3px double white;color:white;padding:4px 7px;margin:0 auto 20px;transform:rotate(-1deg)}
.lp-guarantee-stamp>span {font-size:20px;line-height:1;border-right:1px solid white;padding-right:5px}.lp-guarantee-stamp small{display:block;font-size:9px}.lp-guarantee-stamp>strong{font-size:13px;line-height:1}
#app .lp-guarantee h2 {font-size:20px;margin-bottom:12px}
.lp-guarantee>p {font-size:15px;line-height:1.5;margin:0;text-align:left}
.lp-expert {padding:17px 10px 25px;background:#25194f;color:#fff;border-radius:20px;margin:0 -7px 32px}
#app .lp-expert h2 {color:#fff;font-size:26px;line-height:1.22;margin-bottom:20px}
.lp-expert h2 span {color:#ff5a64}
.lp-expert>p {font-size:17px;line-height:1.5;margin:0 5px 18px}
.lp-tall-photo {height:500px;position:relative;overflow:hidden;border-radius:17px}
.lp-tall-photo img {position:absolute;width:200%;height:100%;max-width:none;right:0;object-fit:cover;object-position:right}
#app .lp-expert .lp-start {margin-top:30px}
.lp-skills {margin-bottom:32px}
#app .lp-skills h2 {font-size:24px}
.lp-skill-wheel {position:relative;height:280px;max-width:385px;margin:15px auto 23px}
.lp-wheel {position:absolute;inset:22px 36px 22px;background:conic-gradient(from -90deg,#b8e7ff 0deg 72deg,#78cda7 72deg 144deg,#ffe092 144deg 216deg,#f3a3c4 216deg 288deg,#8c70dc 288deg 360deg);clip-path:polygon(50% 0,98% 36%,80% 95%,20% 95%,2% 36%);display:grid;place-items:center}
.lp-wheel>span {display:flex;flex-direction:column;justify-content:center;width:98px;height:98px;background:#25194f;color:white;border:7px solid white;border-radius:50%;font-size:39px;line-height:1}.lp-wheel small{font-size:14px;margin-top:5px}
.lp-wheel-label {position:absolute;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#fff9;padding:2px;color:#3b2b62}
.lp-w-memory {top:3px;left:19%}.lp-w-focus{top:45px;right:2%}.lp-w-logic{right:0;bottom:66px}.lp-w-words{bottom:0;left:42%}.lp-w-spatial{left:0;bottom:66px}
.lp-feature-badges {display:flex;align-items:center;gap:18px;justify-content:center;margin-top:20px}.lp-feature-badges img{width:27%;height:90px;object-fit:contain}
.lp-quote {border-radius:28px;overflow:hidden;background:#25194f;text-align:left;color:#fff;margin:0 -4px 32px;padding:0 30px 30px}
.lp-quote-photo {height:255px;position:relative;margin:0 -30px;overflow:hidden}
.lp-quote-photo img {width:200%;height:100%;max-width:none;object-fit:cover;position:absolute;right:0}
.lp-quote-photo:after {content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#25194f)}
.lp-quote blockquote {position:relative;margin:-17px 0 20px;font-size:23px;line-height:1.55;letter-spacing:.3px}
.lp-quote blockquote>span {position:absolute;top:-40px;left:-7px;opacity:.2;font-size:95px}.lp-quote blockquote strong{color:#ee96e9;font-weight:600}
#app .lp-quote h2 {color:white;text-align:left;font-size:26px;margin:0 0 6px}.lp-quote>p{color:#b9aed7;font-size:17px;margin:0}
#app .lp-included h2 {color:#434343;font-size:25px;margin-bottom:30px}
.lp-product-preview {height:400px;width:86%;margin:0 auto 30px;border:9px solid #101010;border-radius:22px;overflow:hidden;transform:rotate(-4deg);box-shadow:5px 8px 0 #e2dff0;background:white}
.lp-product-preview img {width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.lp-included ul {list-style:none;text-align:left;padding:0;margin:0 0 20px;color:#111}
.lp-included li {display:flex;gap:16px;margin-bottom:15px;align-items:center}
.lp-included li>span {font-size:28px;color:#505050;flex:none}
.lp-included li strong {font-size:16px;line-height:1.5}.lp-included li p {font-size:16px;line-height:1.5;margin:0}
.lp-community {margin:34px -14px 35px;overflow:hidden}
#app .lp-community h2 {font-size:24px;margin-bottom:17px}
.lp-interest-strip {display:flex;gap:9px;justify-content:center;white-space:nowrap}
.lp-interest-strip span {font-size:15px;padding:6px 9px;background:#f0ebff;border-radius:5px;color:#352a4b}
#app .lp-story h2 {font-size:25px;line-height:1.3;color:#404040;margin-bottom:23px}
.lp-story-photo {border-radius:50%;width:100%;aspect-ratio:1;position:relative;overflow:hidden;background:#eee}
.lp-story-photo img {width:100%;height:100%;object-fit:cover}.lp-story-photo>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:66px;background:#25194f80;border-radius:50%;font-size:27px;color:white;padding-left:5px}
.lp-story-photo>small {position:absolute;bottom:40px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:8px;padding:6px 10px;background:#25194fbf;color:white;font-size:12px}
.lp-story blockquote {font-size:17px;line-height:1.5;margin:22px 10px 10px}
.lp-story>p {font-size:13px;color:#736a7a;margin:0 0 38px}
#app .lp-bottom-pricing>h2 {color:#444;font-size:24px;margin-bottom:20px}
.lp-support {margin:18px 20px 0;font-size:14px;line-height:1.5}.lp-support p{margin:0 0 15px}
.lp-support button {background:none;border:0;padding:0;font:inherit;text-decoration:underline;color:#6034ff;cursor:pointer}.lp-support small{font-size:11px;line-height:1.5;color:#716b77;display:block}
@media(min-width:700px){.lp-sticky-offer{max-width:456px}#app main.long-paywall{max-width:456px}}
@media(max-width:360px){.lp-sticky-offer{grid-template-columns:88px 72px 1fr}.lp-sticky-offer>.lp-countdown{font-size:23px}.lp-sticky-offer>span{font-size:11px}.lp-plan-body{gap:8px;padding:15px 9px}.lp-plan-description>strong{font-size:17px}.lp-price-tag b{font-size:28px}.lp-price-tag{padding:7px 6px 7px 13px}.lp-forever{font-size:13px}.lp-coupon{padding-left:18px;padding-right:18px}.lp-coupon-bottom{gap:9px}.lp-quote{padding-left:23px;padding-right:23px}.lp-tall-photo{height:425px}}
@media(prefers-reduced-motion:reduce){#app main.long-paywall{scroll-behavior:auto}}
#app .email-entry-page .signup-reassurance {margin-top:auto;padding-top:36px;padding-bottom:14px}
#app .email-entry-page .profile-form label[for="profile-email"] {margin-top:0}
#app .email-entry-page .signup-community strong {font-size:17px;color:#25194f}
#app .email-entry-page .signup-portraits img {width:46px;height:46px}
#app .name-entry-page .profile-form {margin-top:30px}
/* Natural photography and a balanced five-skill diagram. */
#app .preparation-reference .preparation-review {border:1px solid #e5e5ed;border-radius:24px;background:#fff;box-shadow:0 8px 24px #25194f0a;margin-top:22px}
#app .preparation-review-photo {height:auto;aspect-ratio:1.9;max-height:220px;min-height:150px;flex:none;overflow:hidden}
#app .preparation-review-photo img {object-position:50% 45%}
#app .preparation-review-copy {padding:20px 22px 22px;background:#fff}
#app .preparation-review .stars {font-size:18px;color:#e4a216;letter-spacing:3px;margin:0 0 12px}
#app .preparation-review blockquote {font-size:17px;line-height:1.55;font-weight:500;color:#29233c;margin:0 0 18px}
#app .preparation-review-person {border-top:1px solid #efedf3;padding-top:14px;gap:11px}
#app .preparation-review-person>span {width:36px;height:36px;background:#f0eaff;color:#6930dc;font-size:14px}
#app .preparation-review-person p {font-size:14px;color:#29233c;margin-bottom:3px}
#app .preparation-review-person small {font-size:12px;color:#797183}
#app .lp-hero>i {left:50%;width:3px;transform:translateX(-50%)}
#app .lp-skill-wheel {height:auto;width:100%;max-width:410px;margin:12px auto 16px;overflow:visible}
.lp-pentagon {width:100%;height:auto;display:block;overflow:visible}
.lp-sector-emojis {font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.lp-testimonials {padding:26px 0 34px;text-align:left}
.lp-testimonials-kicker {display:block;text-align:center;color:#7a668b;font-size:12px;letter-spacing:1.6px;font-weight:700;margin-bottom:12px}
#app .lp-testimonials h2 {font-size:27px;margin-bottom:24px}
.lp-testimonial-list {display:grid;gap:16px}
.lp-testimonial-card {padding:23px 22px;background:#fff;border:1px solid #e7e1f2;border-radius:22px;box-shadow:0 5px 20px #25194f06}
.lp-testimonial-card:nth-child(2) {background:#f6f2ff}
.lp-testimonial-stars {font-size:18px;color:#e3a11d;letter-spacing:3px;line-height:1;margin-bottom:16px}
.lp-testimonial-card blockquote {font-size:17px;line-height:1.6;color:#30263f;margin:0 0 22px;font-weight:500}
.lp-testimonial-person {display:flex;align-items:center;gap:11px}
.lp-testimonial-person>img {width:44px;height:44px;object-fit:cover;border-radius:50%}
.lp-testimonial-person>div {display:flex;flex-direction:column;gap:3px}
.lp-testimonial-person strong {font-size:14px;color:#25194f}
.lp-testimonial-person>div>span {font-size:12px;color:#756a83}
.lp-testimonial-quote {margin-left:auto;color:#ccb6fa;font-family:Georgia,serif;font-size:52px;line-height:.8}
@media(max-height:700px){#app .preparation-review-photo{min-height:135px;aspect-ratio:2.2}#app .preparation-review-copy{padding:16px 20px}#app .preparation-review blockquote{font-size:16px;line-height:1.5;margin-bottom:13px}}
/* Native scroll-snap gallery of actual Mindscore UI captures. */
.lp-app-carousel {margin:0 -4px 28px;outline-offset:5px}
.lp-carousel-track {display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth}
.lp-carousel-track::-webkit-scrollbar {display:none}
.lp-carousel-slide {flex:0 0 100%;min-width:0;margin:0;padding:9px 8px 0;scroll-snap-align:center;scroll-snap-stop:always}
.lp-screen-frame {width:76%;max-width:274px;margin:0 auto;border:7px solid #211832;border-radius:25px;background:#fff;overflow:hidden;box-shadow:6px 7px 0 #e5ddf7}
.lp-screen-frame img {display:block;width:100%;height:auto;aspect-ratio:390/844;object-fit:contain;pointer-events:none}
.lp-carousel-slide figcaption {font-size:17px;font-weight:650;color:#302047;margin:20px 0 12px}
.lp-carousel-controls {display:flex;align-items:center;justify-content:center;gap:24px;padding:0 0 5px}
.lp-carousel-controls>button {width:40px;height:40px;border-radius:50%;border:1px solid #dacdf1;background:#fff;color:#6528ed;font-size:27px;line-height:1;display:grid;place-items:center;cursor:pointer}
.lp-carousel-dots {display:flex;align-items:center;gap:2px}
.lp-carousel-dots>button {width:28px;height:34px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;padding:0}
.lp-carousel-dots>button:after {content:'';height:8px;width:8px;border-radius:8px;background:#dbd0ee;transition:width .16s,background .16s}
.lp-carousel-dots>button[aria-pressed="true"]:after {width:21px;background:#6528ed}
@media(prefers-reduced-motion:reduce){.lp-carousel-track{scroll-behavior:auto}.lp-carousel-dots>button:after{transition:none}}
/* Mindscore palette across all paywall surfaces and actions. */
#app[data-page="paywall"] {--lp-brand:#6528ed;--lp-ink:#25194f;--lp-soft:#f3edff;--lp-line:#dfd1f7}
#app .long-paywall em,#app .lp-sticky-offer>.lp-countdown,#app .lp-support button {color:var(--lp-brand)}
#app .lp-sticky-offer>button,#app .lp-start,#app .lp-start.lp-black,#app .lp-start.lp-mint,#app .lp-goal,#app .lp-plan-ribbon {background:var(--lp-brand);color:#fff}
#app .lp-start.lp-black {border-radius:29px}
#app .lp-sticky-offer>button:hover,#app .lp-start:hover {background:#5120c8}
#app .lp-coupon {background:var(--lp-soft);color:var(--lp-ink)}
#app .lp-coupon>div:first-child>span,#app .lp-coupon-code i {color:var(--lp-brand)}
#app .lp-coupon-clock {background:#e6d9ff;color:var(--lp-brand)}
#app .lp-coupon-clock small {color:#624a84}
#app .lp-plan {color:var(--lp-brand);border-color:#e9e3f1}
#app .lp-plan.selected {background:#e8ddff;border-color:var(--lp-brand)}
#app .lp-plan.selected .lp-radio,#app .lp-forever {border-color:var(--lp-brand)}
#app .lp-plan.selected .lp-radio:after,#app .lp-plan.selected .lp-price-tag {background:var(--lp-brand)}
#app .lp-price-tag {background:#eee7f8;color:var(--lp-brand)}
#app .lp-plan.selected .lp-price-tag {color:#fff}
#app .lp-guarantee {border-color:var(--lp-line);background:#fbf9ff}
#app .lp-guarantee-stamp {background:#7948d5;outline-color:#7948d5}
#app .long-paywall :is(.lp-headline,.lp-included h2,.lp-bottom-pricing>h2,.lp-payment h2) {color:var(--lp-ink)}
#app .lp-included li>span {color:var(--lp-brand)}
.lp-activity-label {display:block;font-size:11px;line-height:1.5;font-weight:650;letter-spacing:1px;color:#857397;margin-bottom:9px;text-align:center}
#app .lp-purchase-activity h2 {font-size:24px;line-height:1.35;margin:0 14px 20px}
#app .lp-purchase-activity h2 strong {color:#6528ed;font-weight:750}
.lp-purchase-window {overflow:hidden;width:100%;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.lp-purchase-track {display:flex;width:max-content;animation:lp-purchases-run 32s linear infinite}
.lp-purchase-group {display:flex;gap:10px;padding-right:10px}
.lp-purchase-chip {display:flex;align-items:center;gap:8px;background:#f0eaff;border:1px solid #e6dcf7;border-radius:12px;color:#483361;padding:11px 13px;font-size:14px;white-space:nowrap}
.lp-purchase-chip>i {font-style:normal;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#6528ed;color:#fff;font-size:12px}
.lp-purchase-chip>small {font-size:11px;color:#7e6895}
.lp-purchase-window:hover .lp-purchase-track,.lp-purchase-window:focus .lp-purchase-track {animation-play-state:paused}
.lp-purchase-activity>p {font-size:11px;line-height:1.45;color:#85798e;margin:12px 20px 0}
@keyframes lp-purchases-run {to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.lp-purchase-track{animation:none}.lp-purchase-window{overflow-x:auto}}

/* Paywall: clear choices, varied editorial surfaces, and a floating offer. */
#app[data-page="paywall"] {background:#fbfbfe;--lp-ink:#20243a;--lp-brand:#6528ed}
#app main.long-paywall {padding:16px 18px 32px;max-width:480px;color:#20243a}
#app .lp-sticky-offer {width:calc(100% - 24px);max-width:456px;min-height:76px;margin:12px auto 0;padding:12px 14px 12px 18px;grid-template-columns:minmax(0,1fr) auto;gap:12px;background:#fff;border:1px solid #e9e6f0;border-radius:24px;box-shadow:0 8px 28px #3224581a,0 2px 5px #32245809}
.lp-floating-copy {text-align:left;min-width:0}
.lp-floating-copy>strong {font-size:15px;line-height:1.4;display:block;color:#242037}
.lp-floating-copy>span {display:flex;gap:6px;align-items:center;font-size:12px;line-height:1.4;color:#746a83;margin-top:3px}
.lp-floating-copy .lp-countdown {color:#6528ed;letter-spacing:.4px;font-variant-numeric:tabular-nums;font-size:13px}
#app .lp-sticky-offer>button {border-radius:17px;min-height:46px;padding:12px 16px;font-size:15px;box-shadow:0 4px 10px #6528ed25}
#app .lp-sticky-offer>button>span {padding-left:5px}
#app .lp-hero {aspect-ratio:1.57;border-radius:23px;margin-bottom:24px;border:1px solid #ede8f4}
#app .lp-hero>span {border-radius:30px;padding:7px 14px;top:12px;font-size:12px;font-weight:600;box-shadow:0 2px 6px #0000000a}
#app .lp-now {background:#fffef5;left:10px}#app .lp-goal {right:10px;background:#186c5d;color:white}
#app .lp-hero>i {background:#fff;width:3px}
.lp-eyebrow {display:block;font-size:12px;line-height:1.5;letter-spacing:1.4px;font-weight:700;color:#736984;margin-bottom:10px}
#app .long-paywall .lp-headline {font-size:32px;line-height:1.16;letter-spacing:-1px;color:#20243a;margin:0 0 14px}
.lp-hero-copy {font-size:16px;line-height:1.6;color:#666477;margin:0 0 18px}
.lp-quick-benefits {display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-bottom:27px}
.lp-quick-benefits>span {font-size:12px;line-height:1.5;border:1px solid #e8e7ef;background:white;border-radius:30px;padding:7px 9px;color:#4c4a5e}
#app .lp-coupon {display:flex;align-items:center;gap:12px;padding:17px 15px;background:#fff1d9;border:1px solid #f4ddae;border-radius:18px;margin-bottom:29px;text-align:left;color:#65481d}
#app .lp-coupon:before,#app .lp-coupon:after {display:none}
#app .lp-coupon>div {flex:1;min-width:0}
.lp-offer-icon {font-size:26px;flex:none}.lp-offer-check{font-size:20px;color:#7d5c27}
#app .lp-coupon strong {font-size:15px;line-height:1.5}.lp-coupon p{font-size:13px;line-height:1.5;margin:3px 0 0;color:#816235}
#app .lp-pricing>h2 {font-size:26px;margin-bottom:8px}
.lp-plan-intro {font-size:14px;line-height:1.5;color:#777082;margin:0 0 20px}
#app .lp-plans {gap:12px}
#app .lp-plan {border:1.5px solid #e3e1ea;border-radius:18px;color:#28263a;background:white;transition:border-color .15s,box-shadow .15s}
#app .lp-plan.selected {background:#faf7ff;border:2px solid #6528ed;box-shadow:0 4px 15px #6528ed0c}
#app .lp-plan:hover {border-color:#a48add}
#app .lp-plan-ribbon {display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:#6528ed;color:white;font-size:12px;letter-spacing:.3px}
#app .lp-plan-ribbon b {background:#ffffff24;padding:3px 8px;border-radius:6px;font-size:11px}
#app .lp-plan-body {padding:18px 13px;min-height:94px;gap:11px}
#app .lp-plan[data-lp-plan="lifetime"] .lp-plan-body {min-height:106px}
#app .lp-radio {height:21px;width:21px;border-color:#b6afc2}
#app .lp-plan-description {gap:7px}
#app .lp-plan-description>strong {font-size:17px;font-weight:650;color:#28263a}
#app .lp-plan-total {font-size:12px;line-height:1.5;color:#6e647d}
#app .lp-plan-total s {color:#9a909f}
#app .lp-forever {border:0;padding:0;color:#946224;font-size:12px;line-height:1.4;width:auto}
#app .lp-price-tag,#app .lp-plan.selected .lp-price-tag {background:transparent;color:#28263a;padding:0;clip-path:none;border-radius:0;min-width:83px;text-align:right}
#app .lp-price-tag b {display:block;font-size:25px;letter-spacing:-.7px;line-height:1.25;white-space:nowrap}
#app .lp-price-tag small {display:block;font-size:12px;font-weight:400;color:#796e87;margin-top:2px}
#app .lp-plan.selected .lp-price-tag b {color:#6528ed}
#app .lp-billing {font-size:13px;line-height:1.6;color:#756b80;margin:15px 5px 0}
#app .lp-start,#app .lp-start.lp-black {border-radius:18px;min-height:56px;font-size:17px;display:flex;align-items:center;justify-content:center;gap:20px;box-shadow:0 6px 15px #6528ed20;margin-top:18px}
#app .lp-start>span {font-size:22px;line-height:1}
#app .long-paywall .lp-payment h2 {font-size:14px;font-weight:500;color:#786e83;margin:24px 0 12px}
#app .lp-payment-marks {background:white;border-color:#eeebf1;border-radius:14px;padding:10px 13px;height:48px}
#app .lp-payment>p {font-size:12px;color:#807687;margin:12px 0 28px}
#app .lp-guarantee {display:flex;gap:14px;text-align:left;padding:22px 18px;background:#eaf7f2;border:1px solid #cfe9df;border-radius:22px;margin:0 0 40px}
.lp-guarantee-symbol {display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:14px;background:#d3ede3;color:#24705c;font-size:28px}
#app .lp-guarantee .lp-eyebrow {color:#33735f;font-size:11px;margin-bottom:6px}
#app .lp-guarantee h2 {font-size:18px;line-height:1.35;text-align:left;color:#215548;margin:0 0 8px}
#app .lp-guarantee p {font-size:15px;line-height:1.5;color:#446c5f;margin:0 0 8px}
.lp-guarantee small {font-size:12px;line-height:1.5;color:#607e72;display:block}
#app .lp-expert {background:#163e45;border-radius:26px;padding:27px 18px 20px;margin:0 0 38px;color:#e3eeed}
#app .lp-expert .lp-eyebrow {color:#b4e3d3;font-size:11px}
#app .lp-expert h2 {font-size:30px;margin-bottom:14px;letter-spacing:-.8px}
#app .lp-expert>p {font-size:16px;line-height:1.6;margin:0 0 24px;color:#d4e5e3}
#app .lp-tall-photo {height:auto;aspect-ratio:1.05;border-radius:18px}
#app .lp-tall-photo img {position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}
#app .lp-expert .lp-start {background:#b8efd8;color:#184d40;box-shadow:none;margin-top:20px}
#app .lp-expert .lp-start:hover {background:#d0f7e7}
#app .lp-skills {padding:0 3px;margin-bottom:36px}
#app .lp-skills h2 {font-size:26px}
#app .lp-feature-badges {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px}
.lp-feature-badges>span {padding:14px 4px;background:#ecf5ff;border-radius:14px;font-size:12px;line-height:1.5;color:#43617c}
.lp-feature-badges>span:nth-child(2) {background:#fff0e5;color:#996343}.lp-feature-badges>span:nth-child(3){background:#f1ecff;color:#69518e}
.lp-feature-badges b {display:block;font-size:26px;line-height:1.25;margin-bottom:3px}
#app .lp-quote {padding:0;background:#fff0e8;color:#66463c;border-radius:25px;border:1px solid #f3dfd2;margin:0 0 40px}
#app .lp-quote-photo {height:240px;margin:0}
#app .lp-quote-photo img {position:static;width:100%;height:100%;object-fit:cover;object-position:center 42%}
#app .lp-quote-photo:after {display:none}
.lp-moment-copy {padding:25px 24px 27px}
#app .lp-moment-copy .lp-eyebrow {color:#ac6b4c;font-size:11px}
#app .lp-quote h2 {font-size:27px;line-height:1.2;color:#5e3d30;text-align:left;margin-bottom:13px}
.lp-moment-copy>p {font-size:16px;line-height:1.6;margin:0;color:#836354}
#app .lp-included h2 {font-size:27px;margin-bottom:24px}
#app .lp-app-carousel {background:#ecf4ff;border:1px solid #dde9f8;border-radius:26px;padding:22px 0 13px;margin:0 0 25px}
#app .lp-screen-frame {box-shadow:6px 8px 0 #cddcec;border-color:#233044}
#app .lp-carousel-slide figcaption {font-size:16px;color:#35506d}
#app .lp-carousel-controls>button {width:44px;height:44px;color:#42688c;border-color:#d1ddeb}
#app .lp-carousel-dots>button {height:44px}
#app .lp-included li {align-items:flex-start;gap:13px;padding:0 2px;margin-bottom:20px}
#app .lp-included li>span {display:grid;place-items:center;background:#e5f3ed;color:#28735b;border-radius:10px;width:29px;height:29px;font-size:18px;margin-top:2px}
#app .lp-included li strong {color:#292739;font-size:16px}
#app .lp-included li p {color:#7a7082;font-size:15px;line-height:1.6;margin-top:3px}
#app .lp-community {margin:36px -18px 18px;padding:25px 0;background:#f4f2fa;border-block:1px solid #ece7f4}
#app .lp-purchase-activity h2 {font-size:23px}
#app .lp-purchase-chip {background:white;border-color:#e9e2f3}
#app .lp-activity-label,#app .lp-purchase-activity>p {font-size:12px}
#app .lp-testimonials {padding:28px 0 38px}
#app .lp-testimonial-card {border:1px solid #e8e4ee;box-shadow:0 4px 16px #30234105;padding:23px;background:#fff;border-radius:21px}
#app .lp-testimonial-card:nth-child(2){background:#fff8ec;border-color:#f3e7cf}
#app .lp-testimonial-stars {font-size:17px;color:#c98927}
#app .lp-testimonial-card blockquote {font-size:16px;line-height:1.65}
#app .lp-testimonial-quote {color:#c5a5e8}
#app .lp-bottom-pricing {padding-top:28px;border-top:1px solid #e5dfee}
#app .lp-bottom-pricing>h2 {font-size:28px;margin-bottom:23px}
#app .lp-support {margin:24px 8px 0}
#app .lp-support small {font-size:12px;line-height:1.6}
#app[data-page="paywall"] button:focus-visible,#app[data-page="paywall"] [tabindex="0"]:focus-visible {outline:3px solid #2791c2;outline-offset:4px}
@media(max-width:360px){#app main.long-paywall{padding-inline:14px}#app .lp-sticky-offer{width:calc(100% - 20px);padding:10px 11px;gap:7px}.lp-floating-copy>strong{font-size:14px}#app .lp-sticky-offer>button{padding-inline:12px;font-size:14px}.lp-floating-copy>span{font-size:11px}#app .lp-plan-body{gap:8px;padding:16px 10px}#app .lp-price-tag{min-width:73px}#app .lp-price-tag b{font-size:22px}#app .lp-plan-description>strong{font-size:16px}#app .long-paywall .lp-headline{font-size:29px}.lp-quick-benefits>span{padding-inline:7px;font-size:11px}#app .lp-coupon{padding:15px 11px;gap:9px}#app .lp-coupon strong{font-size:14px}#app .lp-quote-photo{height:210px}}
@media(prefers-reduced-motion:reduce){#app .lp-plan{transition:none}}
/* Continuous, left-to-right loop of the owner's native app screenshots. */
#app .lp-app-carousel.lp-screenshot-loop {padding:0 0 15px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.lp-screenshot-window {overflow:hidden;padding:14px 0 16px;outline-offset:-3px}
.lp-screenshot-belt {display:flex;width:max-content;animation:lp-screens-right 180s linear infinite;will-change:transform}
.lp-screenshot-group {display:flex;align-items:flex-start;gap:25px;padding-right:25px}
.lp-screenshot-card {position:relative;width:228px;flex:none;margin:0;text-align:center}
.lp-supplied-frame {border:2px solid #27194f;border-radius:25px;padding:5px;overflow:hidden;background:#fff;box-shadow:7px 8px 0 #27194f}
.lp-supplied-frame img {display:block;width:100%;height:auto;border-radius:18px;object-fit:contain;background:transparent}
.lp-screenshot-card figcaption {font-size:14px;line-height:1.5;font-weight:600;color:#465774;padding:16px 6px 0}
.lp-loop-footer {padding:17px 14px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 15px}
.lp-loop-footer>span {font-size:12px;color:#6b7b95}
.lp-loop-toggle {border:1px solid #d3dfee;border-radius:25px;padding:10px 14px;min-height:44px;background:white;color:#465577;font-size:12px;font-weight:600;cursor:pointer}
.lp-screenshot-loop.is-paused .lp-screenshot-belt {animation-play-state:paused}
@media(hover:hover){.lp-screenshot-window:hover .lp-screenshot-belt{animation-play-state:paused}}
#app .lp-included h2 em {white-space:nowrap}
@keyframes lp-screens-right {from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:360px){.lp-screenshot-card{width:208px}.lp-screenshot-group{gap:23px;padding-right:23px}}
@media(prefers-reduced-motion:reduce){.lp-screenshot-loop:not(.is-paused) .lp-screenshot-belt{animation-duration:180s}}
/* Circular video-story carousel, ready for real member clips. */
.lp-member-stories {margin:0 0 20px;padding:27px 0 25px;border-bottom:1px solid #e8e2ef}
#app .lp-member-stories h2 {font-size:27px;margin:0 0 10px;line-height:1.25}
.lp-member-intro {font-size:14px;line-height:1.5;color:#85768f;margin:0 0 23px}
.lp-member-track {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.lp-member-track::-webkit-scrollbar {display:none}
.lp-member-slide {flex:0 0 100%;min-width:0;scroll-snap-align:center;padding:0 3px}
.lp-member-circle {position:relative;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 5px 12px #38234c12;background:#efebf7}
.lp-member-circle>img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.lp-member-circle>button {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;border:1px solid #ffffff65;background:#3d2d4870;color:white;display:grid;place-items:center;backdrop-filter:blur(4px);font-size:25px;padding-left:6px;cursor:pointer;opacity:1}
.lp-member-circle>button:disabled {cursor:default}
.lp-video-soon {position:absolute;bottom:32px;left:50%;transform:translateX(-50%);background:#322442be;color:#fff;padding:7px 13px;border-radius:20px;font-size:12px;white-space:nowrap}
.lp-member-slide>h3 {font-size:16px;color:#51435e;line-height:1.5;font-weight:600;margin:18px 0 4px}
.lp-member-dots {display:flex;justify-content:center;gap:4px}
.lp-member-dots>button {display:grid;place-items:center;width:32px;height:38px;border:0;background:none;padding:0;cursor:pointer}
.lp-member-dots>button:after {content:'';width:8px;height:8px;border-radius:50%;background:#cec7d4}
.lp-member-dots>button[aria-pressed="true"]:after {background:#6528ed}
.lp-member-stories>small {display:block;color:#918798;font-size:12px;line-height:1.5;margin-top:4px}
.lp-member-circle.is-playing {aspect-ratio:3/4;border-radius:22px;background:#171221}
.lp-member-circle>video {width:100%;height:100%;display:block;object-fit:contain}

/* Subscription activity uses a fresh green treatment. */
#app .lp-purchase-activity {background:transparent;border-color:transparent}
#app .lp-purchase-chip {background:#e5f5eb;border-color:#c8e6d4;color:#225c3e}
#app .lp-purchase-chip>i {background:#27965a;color:white}
#app .lp-purchase-chip>small {color:#528067}
#app .lp-purchase-activity h2 strong {color:var(--lp-brand)}
#app .lp-purchase-activity .lp-activity-label,#app .lp-purchase-activity>p {color:#85798e}

#app .lp-testimonial-card:nth-child(3) {background:#edf7f5;border-color:#d5e9e3}
#app .lp-testimonial-card:nth-child(3) .lp-testimonial-quote {color:#8ec5b6}

.lp-pentagon>g:first-of-type {filter:drop-shadow(0 5px 6px #47307710)}
.lp-pentagon>circle {filter:drop-shadow(0 3px 5px #35215a24)}

.lp-screenshot-window[role="button"] {cursor:pointer}

/* Playful screenshot outlines inspired by the supplied reference. */
.lp-screenshot-card::before,.lp-screenshot-card::after {content:"";position:absolute;z-index:1;left:-5px;width:10px;height:10px;border-radius:50%;pointer-events:none}
.lp-screenshot-card::before {top:12px;background:#4d9bf9}
.lp-screenshot-card::after {bottom:28px;background:#ff83bb}
.lp-screenshot-spark {position:absolute;z-index:1;right:12px;top:-12px;color:#ffc438;font-size:23px;line-height:1;pointer-events:none}
