/* A black stage and luminous field, matching the supplied reference. */
body.mini-app.entry-mode {
  background: #000;
  --bg: #000;
  --text: #f5f5f7;
  --muted: #929295;
}
html.mini-app-page:has(.entry-mode) { background: #000; }
body.mini-app .topbar[hidden], body.mini-app .page-subtitle[hidden] { display: none; }
body.entry-mode .app-shell {
  width: min(100%, 620px);
  padding: max(24px, env(safe-area-inset-top), var(--tg-content-safe-area-inset-top, 0px))
    24px max(30px, env(safe-area-inset-bottom), var(--tg-content-safe-area-inset-bottom, 0px));
}
body.entry-mode .orbit-landing, body.entry-mode .registration-content { display: block; }
.orbit-landing-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100svh - max(24px, var(--tg-content-safe-area-inset-top, 0px)) - 54px);
  padding: 20px 0 24px;
}
.orbit-landing-visual {
  width: calc(100% + 36px);
  height: clamp(290px, 49svh, 440px);
  margin: 0 -18px;
  flex: 0 0 auto;
  contain: strict;
}
.orbit-player { position: relative; display: block; width: 100%; height: 100%; isolation: isolate; background: transparent; }
.orbit-poster, .orbit-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 55%, transparent 92%);
  mask-image: radial-gradient(ellipse at center, #000 55%, transparent 92%);
  transition: opacity 280ms linear;
}
.orbit-video { opacity: 0; }
.orbit-poster { opacity: 1; }
.orbit-player[data-phase="intro"] .orbit-intro,
.orbit-player[data-phase="loop"] .orbit-loop { opacity: 1; }
.orbit-player[data-phase="intro"] .orbit-poster,
.orbit-player[data-phase="loop"] .orbit-poster { opacity: 0; }
.orbit-play-button {
  position: absolute;
  bottom: 4px;
  left: 50%;
  width: max-content;
  max-width: calc(100% - 24px);
  padding: 9px 15px;
  transform: translateX(-50%);
  border: 1px solid #4a4a4f;
  border-radius: 999px;
  background: rgba(5, 5, 5, 0.85);
  color: #f5f5f7;
  font-size: 11px;
  cursor: pointer;
}
.orbit-play-button[hidden] { display: none; }
.orbit-play-button:focus-visible { outline: 2px solid #f5f5f7; outline-offset: 4px; }
.orbit-landing-copy { text-align: center; margin-top: -8px; animation: entry-reveal 700ms ease both; }
body.mini-app .orbit-landing-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(52px, 14vw, 76px);
  line-height: 1.06;
  font-weight: 650;
  letter-spacing: -0.065em;
  margin: 0;
  color: #f5f5f7;
}
.orbit-landing-description {
  max-width: 300px;
  margin: 20px auto 0;
  color: #929295;
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.registration-submit {
  display: grid;
  width: 100%;
  min-height: 60px;
  place-items: center;
  padding: 16px 20px;
  border: 1px solid transparent;
  border-radius: 17px;
  background: #f5f5f7;
  color: #080808;
  font: 650 16px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms ease, transform 160ms ease;
}
.registration-submit:hover { background: #dcdcdf; }
.registration-submit:active { transform: scale(0.985); }
.registration-submit:disabled { opacity: 0.55; cursor: wait; }
.registration-submit:focus-visible, .registration-text-button:focus-visible, .registration-back:focus-visible {
  outline: 2px solid #f5f5f7;
  outline-offset: 5px;
}
.orbit-landing-cta { max-width: 356px; margin-top: 38px; animation: entry-reveal 700ms 100ms ease both; }
.registration-screen, .registration-success {
  width: min(100%, 400px);
  margin: 0 auto;
  padding-bottom: 24px;
  animation: entry-reveal 320ms ease both;
}
.registration-nav { display: flex; align-items: center; justify-content: space-between; height: 40px; }
.registration-back {
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 1px solid #29292c;
  border-radius: 50%;
  color: #f5f5f7;
  font-size: 21px;
  cursor: pointer;
}
.registration-step { margin: 0; color: #818185; font: 500 10px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: 0.15em; }
.registration-orbit { width: 230px; height: clamp(145px, 23svh, 210px); margin: 12px auto 8px; contain: strict; }
body.mini-app .registration-title {
  margin: 0;
  color: #f5f5f7;
  font-size: clamp(34px, 9.3vw, 43px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.055em;
  outline: none;
  text-wrap: balance;
}
.registration-description { color: #929295; font-size: 15px; line-height: 1.65; letter-spacing: -0.015em; margin: 17px 0 0; overflow-wrap: anywhere; }
.registration-form { margin-top: 30px; }
.registration-label { display: block; margin-bottom: 11px; color: #c2c2c6; font-size: 12px; font-weight: 500; }
body.mini-app .registration-input {
  min-height: 59px;
  margin: 0;
  padding: 16px 18px;
  background: #111112;
  border: 1px solid #29292c;
  border-radius: 15px;
  color: #f5f5f7;
  font-size: 17px;
  outline: none;
  transition: border-color 160ms ease;
}
body.mini-app .registration-input::placeholder { color: #5f5f64; }
body.mini-app .registration-input:focus { border-color: #a6a6ad; }
body.mini-app .registration-input[aria-invalid="true"] { border-color: #ff8e8e; }
.registration-error { min-height: 22px; margin: 9px 0 17px; color: #ff8e8e; font-size: 12px; line-height: 1.5; }
.registration-footnote { margin: 24px auto 0; color: #66666d; font-size: 11px; text-align: center; line-height: 1.6; }
.registration-code-wrap { position: relative; }
.registration-code-slots { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; pointer-events: none; }
.registration-code-slot {
  display: grid;
  height: 61px;
  place-items: center;
  background: #111112;
  border: 1px solid #29292c;
  border-radius: 12px;
  color: #f5f5f7;
  font: 400 27px/1 ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-variant-numeric: tabular-nums;
  transition: border-color 160ms ease;
}
body.mini-app .registration-code-input {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0.015;
  font-size: 20px;
  border: 0;
  background: transparent;
  color: transparent;
  caret-color: transparent;
}
.registration-code-input:focus + .registration-code-slots .is-current { border-color: #d6d6dc; }
.registration-code-input[aria-invalid="true"] + .registration-code-slots .registration-code-slot { border-color: #b56262; }
.registration-code-hint { padding: 16px 0 0; color: #8c8c94; font-size: 12px; line-height: 1.65; }
.registration-code-hint p { margin: 8px 0 0; }
.registration-demo-label { color: #c2c2c6; font-weight: 600; }
.registration-demo-code { color: #f5f5f7; font: 500 13px ui-monospace, monospace; letter-spacing: 0.12em; }
.registration-text-button { display: block; margin: 22px auto 0; padding: 8px; border: 0; background: transparent; color: #d5d5da; font-size: 12px; cursor: pointer; }
.registration-text-button:disabled { color: #69696f; cursor: default; }
.registration-change { color: #8c8c94; margin-top: 2px; }
.registration-success { display: flex; flex-direction: column; justify-content: center; min-height: calc(100svh - 90px); text-align: center; }
.registration-success-orbit { width: 100%; height: 300px; contain: strict; }
.registration-success .registration-title { margin-top: 24px; }
.registration-success .registration-submit { margin-top: 36px; }
@keyframes entry-reveal {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 350px) {
  body.entry-mode .app-shell { padding-right: 18px; padding-left: 18px; }
  .registration-code-slots { gap: 5px; }
  .registration-code-slot { height: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-landing-copy, .orbit-landing-cta, .registration-screen, .registration-success { animation: none; }
  .registration-submit, .registration-code-slot { transition: none; }
  .orbit-video, .orbit-poster { transition: none; }
}

/* The community offer comes first; the field is its visual signature. */
.community-directions { display:grid; grid-template-columns:7fr 5fr; gap:18px; align-items:start; }
.community-direction { min-width:0; position:relative; border:1px solid #35373d; border-radius:24px; background:linear-gradient(135deg,#191b1f,#090a0c 75%); overflow:hidden; }
.community-direction:nth-child(2) { margin-top:60px; background:linear-gradient(155deg,#202226,#090a0c 75%); }
.community-direction:last-child { grid-column:1/-1; background:linear-gradient(110deg,#14171a,#08090b); }
.community-direction-summary { position:relative; padding:32px; list-style:none; cursor:pointer; }
.community-direction-summary::-webkit-details-marker { display:none; }
.community-direction-summary:focus-visible { outline:2px solid #f5f5f2; outline-offset:-5px; border-radius:24px; }
.community-direction-number { display:block; color:#92969d; font:12px ui-monospace,monospace; letter-spacing:.16em; margin-bottom:34px; }
.community-direction-title { margin:0; max-width:12ch; color:#f5f5f2; font:600 clamp(28px,4vw,43px)/1.04 Arial,sans-serif; letter-spacing:-.055em; }
.community-direction-promise { max-width:30ch; margin:20px 0 30px; color:#d2d4d9; font-size:16px; line-height:1.5; }
.community-direction-tags { display:block; color:#969ba4; font-size:11px; line-height:1.6; }
.community-direction-toggle { display:block; margin-top:28px; padding-top:17px; border-top:1px solid #363940; color:#eceef2; font-size:12px; }
.community-direction[open] .community-direction-toggle { color:#aaaeb6; }
.community-direction-body { padding:0 32px 30px; }
.community-direction-description { color:#b9bec7; font-size:14px; line-height:1.7; margin:0 0 22px; }
.community-direction-lessons { list-style:none; padding:0; margin:0; }
.community-direction-lesson { display:grid; grid-template-columns:1fr auto; gap:8px 14px; border-top:1px solid #2a2d33; padding:17px 0; }
.community-direction-lesson strong { color:#e9ebee; font-size:13px; font-weight:500; }
.community-direction-lesson span { color:#939aa5; font:11px ui-monospace,monospace; white-space:nowrap; }
.community-direction-lesson p { grid-column:1/-1; margin:0; color:#9ca3af; font-size:12px; line-height:1.6; }
.community-direction-action { padding:14px 0; border:0; color:#f5f5f2; background:none; font:500 14px Arial,sans-serif; cursor:pointer; text-align:left; }
.community-direction-action:focus-visible { outline:2px solid white; outline-offset:5px; }
.lesson-download { display:flex; flex-direction:column; gap:10px; padding:24px; margin:20px 0; border:1px solid #515660; border-radius:16px; background:#171a20; color:#f5f5f2; text-decoration:none; }
.lesson-download span { color:#b2bac6; font-size:13px; }
.lesson-download:focus-visible { outline:2px solid white; outline-offset:4px; }
@media(max-width:640px) { .community-directions { grid-template-columns:minmax(0,1fr); gap:16px; } .community-direction:nth-child(2) { margin-top:0; } .community-direction-summary { padding:26px; } .community-direction-body { padding:0 26px 24px; } .community-direction-number { margin-bottom:26px; } .community-direction-title { font-size:35px; } }
body.entry-mode.community-mode .app-shell { width: min(100%, 1120px); padding-right: 32px; padding-left: 32px; }
body.mini-app .community-content { display: block; }
.community-page { width: 100%; margin: 0 auto; }
.community-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0 25px; border-bottom: 1px solid #292a2e; }
.community-brand { display: flex; flex-direction: column; gap: 5px; }
.community-brand-name { color: #f5f5f2; font: 700 24px/1 Arial, "Helvetica Neue", sans-serif; letter-spacing: -0.06em; }
.community-brand-label { color: #96979d; font-size: 10px; line-height: 1.4; }
.community-login, .community-text-button { padding: 10px 0; border: 0; background: transparent; color: #e8e8eb; font: inherit; font-size: 13px; font-weight: 500; line-height: 1.4; cursor: pointer; }
.community-login { border-bottom: 1px solid #66676c; }
.community-login:hover, .community-text-button:hover { color: #fff; }
.community-login:focus-visible, .community-text-button:focus-visible, .community-program-summary:focus-visible { outline: 2px solid #f5f5f2; outline-offset: 6px; }
.community-hero { display: grid; grid-template-columns: 1fr 1.12fr; align-items: center; column-gap: 0; padding: 48px 0 58px; }
.community-hero-copy { grid-column: 1; grid-row: 1; position: relative; z-index: 1; }
.community-eyebrow { margin: 0 0 20px; color: #a2a3aa; font: 400 9px/1.5 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: 0.12em; }
.community-title { text-wrap: balance; }
body.mini-app .community-title { margin: 0; color: #f5f5f2; font: 700 clamp(45px, 6.7vw, 78px)/1.02 Arial, "Helvetica Neue", sans-serif; letter-spacing: -0.065em; white-space: pre-line; }
.community-description { max-width: 390px; margin: 24px 0 0; color: #b0b0b4; font-size: 15px; line-height: 1.75; letter-spacing: -0.01em; }
.community-visual { grid-column: 2; grid-row: 1 / span 2; width: 100%; height: 480px; contain: strict; }
.community-hero-actions { grid-column: 1; grid-row: 2; width: min(100%, 330px); margin-top: 30px; }
.community-primary { min-height: 57px; border-radius: 12px; font-size: 15px; }
.community-action-note { margin: 12px 0 0; text-align: center; color: #96979d; font-size: 11px; line-height: 1.5; }
.community-program { padding: 46px 0 54px; border-top: 1px solid #292a2e; }
.community-section-header { max-width: 580px; margin-bottom: 34px; }
.community-section-header .community-description { max-width: 470px; margin-top: 18px; font-size: 14px; }
.community-program-list { margin: 0; padding: 0; list-style: none; counter-reset: stages; }
.community-program-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) 90px; align-items: baseline; gap: 20px; padding: 23px 0; border-top: 1px solid #242426; counter-increment: stages; }
.community-program-row::before { content: counter(stages, decimal-leading-zero); color: #85858b; font: 11px/1.6 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.community-program-title { margin: 0; color: #eeeef0; font-size: 17px; font-weight: 500; line-height: 1.4; letter-spacing: -0.025em; }
.community-program-description { max-width: 580px; margin: 8px 0 0; color: #a0a0a6; font-size: 13px; line-height: 1.75; }
.community-program-count { justify-self: end; color: #96979d; white-space: nowrap; font: 11px/1.6 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.community-inside { padding: 44px 0 0; border-top: 1px solid #292a2e; }
.community-section-title { margin: 0; color: #f5f5f2; font: 600 33px/1.15 Arial, "Helvetica Neue", sans-serif; letter-spacing: -0.045em; white-space: pre-line; }
.community-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 32px 0 30px; padding: 0; list-style: none; }
.community-feature { position: relative; padding-top: 15px; border-top: 1px solid #45464c; }
.community-feature-title { margin: 0; color: #eaeaec; font-size: 13px; font-weight: 600; letter-spacing: -0.015em; }
.community-feature-description { margin: 11px 0 0; color: #96979d; font-size: 12px; line-height: 1.8; }
.community-membership { display: grid; grid-template-columns: 1fr 0.8fr; align-items: center; gap: 48px; margin-top: 48px; padding: 35px; border: 1px solid #292a2e; border-radius: 20px; background: #080809; }
.community-membership .community-eyebrow { margin-bottom: 17px; }
.community-membership-title { margin: 0; color: #f5f5f2; font: 600 29px/1.12 Arial, "Helvetica Neue", sans-serif; letter-spacing: -0.05em; white-space: pre-line; }
.community-membership .community-description { margin-top: 18px; font-size: 12px; }
.community-price { display: flex; flex-direction: column; gap: 8px; }
.community-price-value { color: #f5f5f2; font: 500 39px/1.05 Arial, "Helvetica Neue", sans-serif; letter-spacing: -0.05em; white-space: nowrap; }
.community-price-caption { color: #96979d; font-size: 11px; line-height: 1.5; }
.community-offer .community-primary { margin-top: 22px; }
.community-offer-note { margin: 13px 0 0; color: #96979d; font-size: 10px; line-height: 1.7; }
.community-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 0 5px; color: #73747b; font-size: 10px; line-height: 1.6; }
.community-footer { flex-wrap: wrap; font-size: 13px; }
.community-support { color: #dedee2; overflow-wrap: anywhere; }
.community-access { max-width: 480px; margin: 0 auto; }
.community-access .community-header { padding-top: 4px; }
.community-access .community-brand { align-items: flex-end; }
.community-access-intro { padding: 42px 0 28px; }
.community-access-intro .community-eyebrow { margin-bottom: 16px; }
body.mini-app .community-access-title { margin: 0; color: #f5f5f2; font: 700 46px/1 Arial, "Helvetica Neue", sans-serif; letter-spacing: -0.06em; white-space: pre-line; outline: none; }
.community-access-intro .community-description { font-size: 13px; margin-top: 20px; }
.community-access-offer { padding: 26px; border: 1px solid #292a2e; border-radius: 20px; background: #111214; }
.community-access-offer .community-section-title { margin-bottom: 24px; font-size: 16px; }
.community-access-offer .community-price-value { font-size: 45px; }
.community-included { display: grid; gap: 12px; margin: 24px 0; padding-left: 17px; color: #cacbd0; font-size: 12px; line-height: 1.5; }
.community-included li::marker { color: #73747b; }
.community-account { display: flex; flex-direction: column; gap: 6px; margin: 24px 0; padding-top: 20px; border-top: 1px solid #292a2e; overflow-wrap: anywhere; }
.community-account span { color: #96979d; font-size: 10px; }
.community-account strong { color: #d6d7db; font-size: 12px; font-weight: 400; }
.community-payment:disabled { min-height: 54px; border: 1px solid #44464e; border-radius: 12px; background: #202126; color: #a7a8ae; opacity: 1; font-size: 13px; cursor: not-allowed; }
.community-payment-status { margin: 13px 0 0; color: #96979d; font-size: 11px; line-height: 1.7; }
.community-demo { padding: 22px 8px; text-align: center; }
.community-text-button { font-size: 12px; }
.community-demo .community-offer-note { margin-top: 2px; }
.community-demo-notice { margin: 18px 0 0; padding-top: 17px; border-top: 1px solid #292a2e; color: #96979d; font-size: 10px; line-height: 1.7; }
@media (max-width: 640px) {
  body.entry-mode.community-mode .app-shell { padding-right: 24px; padding-left: 24px; }
  .community-header { padding: 5px 0 22px; }
  .community-brand-name { font-size: 25px; }
  .community-hero { grid-template-columns: minmax(0, 1fr); padding: 30px 0 35px; }
  .community-hero-copy { grid-column: 1; grid-row: 1; }
  .community-eyebrow { margin-bottom: 17px; font-size: 8px; }
  body.mini-app .community-title { font-size: clamp(42px, 12.7vw, 64px); }
  .community-description { max-width: 390px; margin-top: 18px; font-size: 14px; line-height: 1.65; }
  .community-visual { grid-column: 1; grid-row: 2; width: calc(100% + 48px); height: clamp(280px, 81vw, 430px); margin: -4px -24px -8px; }
  .community-hero-actions { grid-column: 1; grid-row: 3; width: 100%; max-width: 400px; margin: 0 auto; }
  .community-program { padding: 35px 0 37px; }
  .community-section-title { font-size: 29px; }
  .community-section-header { margin-bottom: 27px; }
  .community-section-header .community-description { font-size: 13px; }
  .community-program-row { grid-template-columns: 24px minmax(0, 1fr) 66px; gap: 10px; padding: 20px 0; }
  .community-program-row::before, .community-program-count { font-size: 10px; }
  .community-program-title { font-size: 15px; line-height: 1.45; }
  .community-program-description { margin-top: 7px; font-size: 12px; line-height: 1.65; }
  .community-inside { padding-top: 35px; }
  .community-features { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 18px; margin-bottom: 22px; }
  .community-feature { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 19px; padding: 17px 0; border-color: #292a2e; }
  .community-feature-description { margin: 0; font-size: 12px; line-height: 1.65; }
  .community-feature-title { font-size: 12px; line-height: 1.5; }
  .community-membership { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 30px; padding: 25px; }
  .community-membership-title { font-size: 29px; }
  .community-offer { border-top: 1px solid #292a2e; padding-top: 25px; }
  .community-price-value { font-size: 39px; }
  .community-footer { font-size: 13px; gap: 16px; }
  .community-access-intro { padding-top: 35px; }
}
@media (max-width: 350px) {
  body.entry-mode.community-mode .app-shell { padding-right: 18px; padding-left: 18px; }
  .community-visual { width: calc(100% + 36px); margin-right: -18px; margin-left: -18px; }
  .community-program-row { grid-template-columns: 22px minmax(0, 1fr); }
  .community-program-count { grid-column: 2; justify-self: start; margin-top: -4px; }
  .community-feature { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .community-membership, .community-access-offer { padding: 21px; }
  body.mini-app .community-access-title { font-size: 40px; }
  .community-footer { flex-direction: column; align-items: flex-start; gap: 5px; }
}
