/* Raspberry is enrollment; cyan/blue is information; violet connects the system. */
:root {
  --primary-pink: #ff2d9a;
  --pink-ink: #ff4fb3;
  --raspberry: #e6007e;
  --magenta: #ff00a8;
  --violet: #9a5cff;
  --electric-blue: #4c7dff;
  --cyan: #05c7f2;
  --aqua: #05f2db;
  --accent: #ff4fb3;
  --violet-ink: #bc9cff;
}
.hero::before {
  background: radial-gradient(ellipse at 72% 47%, #ff00a81c, transparent 48%), radial-gradient(ellipse at 44% 80%, #9a5cff16, transparent 50%);
}
.portrait-frame { box-shadow: 18px 5px 70px -45px #ff2d9a80; }
.portrait-caption > span:first-child { color: #ff82c2; }
.os-label { border-color: #ff2d9a66; background: linear-gradient(120deg, #271425f5, #141b30f5); }
.os-label .status-dot { background: var(--primary-pink); }
.button-primary, .final-inner .button-primary {
  color: #fff; background: linear-gradient(135deg, #38162e, #21162a);
  border: 1px solid var(--primary-pink); box-shadow: inset 0 1px #ff8ecc40, 0 6px 30px #ff00a824;
}
.button-primary:hover, .final-inner .button-primary:hover {
  background: #4b1b3a; border-color: #ff87c9; box-shadow: 0 8px 32px #ff00a840;
}
.hero .button-primary, .mobile-cta .button-primary {
  color: #08020a; background: linear-gradient(135deg, #ff2d9a, #e6007e);
}
.hero .button-primary:hover, .mobile-cta .button-primary:hover {
  background: linear-gradient(135deg, #ff4fb3, #ff2d9a);
}
.button-secondary { background: #101a29; border-color: #4c7dff80; }
.button-secondary:hover { border-color: #9bafff; background: #17253a; }
a.button[href^="https://t.me/"], .event-content a.button[href^="https://t.me/"], .final-inner a.button[href^="https://t.me/"] {
  color: #b3edff; background: linear-gradient(125deg, #102b3a, #142039); border-color: #05c7f2a6; box-shadow: inset 0 1px #05c7f219;
}
a.button[href^="https://t.me/"]:hover { background: #17344b; border-color: #91eaff; box-shadow: 0 8px 24px #05c7f226; }
a[href^="https://t.me/"]:not(.button) { color: #8cdef9; }
.button:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: #d6baff; }
.proof-bar, .system-chain, .library { --accent: #70dfff; }
.system-nodes button[aria-pressed="true"] { background: #10465a; }
.school-manifesto, .learning-section { --accent: var(--violet-ink); }
.defense-card .eyebrow { width: fit-content; padding: 9px 12px; border: 1px solid #9a5cff80; border-radius: 6px; background: #29215e; }
.school-manifesto { background-image: radial-gradient(ellipse at 88% 45%, #9a5cff24, transparent 65%), linear-gradient(#8aa4b209 1px,transparent 1px),linear-gradient(90deg,#8aa4b209 1px,transparent 1px); }
.audience-card { --accent: #70dfff; border-top-color: #05c7f273; }
.audience-card:nth-child(2) { --accent: var(--pink-ink); border-top-color: #ff2d9a99; background: radial-gradient(ellipse at 100% 0,#ff2d9a12,transparent 65%),#0c1520; }
.audience-card:nth-child(3) { --accent: var(--violet-ink); border-top-color: #9a5cff99; }
.audience-card:nth-child(4) { --accent: #8eacff; border-top-color: #4c7dff99; }
.audience-card:nth-child(2):hover { border-color: #ff2d9aaa; box-shadow: 0 8px 30px -18px #ff00a855; }
.audience-card:nth-child(3):hover { border-color: #9a5cffaa; }
.outcome-card { border-top-color: #9a5cff99; }
.outcome-card:first-child .outcome-index { color: var(--violet-ink); }
.outcome-card:nth-child(3) { border-top-color: #05c7f280; }
.outcome-card:nth-child(3) .outcome-index { color: #70dfff; }
.outcome-card:nth-child(2), .outcome-card:nth-child(4) { border-color: #ff2d9a80; background: radial-gradient(ellipse at 100% 0,#ff2d9a1c,transparent 70%),#0c1520; }
.outcome-card:nth-child(2):hover, .outcome-card:nth-child(4):hover { border-color: #ff00a8cc; box-shadow: 0 10px 35px -18px #ff00a84d; }
.event-card { border-color: #ff2d9a80; box-shadow: 0 18px 65px -38px #ff00a855; }
.event-content .eyebrow, .os-inner .eyebrow, .event-meta > span:first-child { color: var(--pink-ink); border-color: #ff2d9a80; background: linear-gradient(115deg,#301327ed,#141728f5); }
.event-content h2 .accent, .event-date { color: var(--pink-ink); }
.event-content .eyebrow { box-shadow: 0 0 25px #ff00a81a; }
.lesson { --lesson-accent: #70dfff; }
.lesson:nth-child(n+4):nth-child(-n+6), .lesson:nth-child(10) { --lesson-accent: var(--pink-ink); }
.lesson:nth-child(7), .lesson:nth-child(9) { --lesson-accent: var(--violet-ink); }
.lesson:nth-child(8) { --lesson-accent: #8eacff; }
.lesson:nth-child(n+4):nth-child(-n+6) .lesson-result, .lesson:nth-child(10) .lesson-result { border-color: #ff2d9a80; background: linear-gradient(125deg,#2c1427,#161b29); }
.lesson:nth-child(4) .cosmic-editorial { border-top-color: #ff2d9ab3; }
.program-footer { align-items: center; gap: 24px; }
.program-footer > .button { margin-right: auto; min-height: 48px; font-size: 13px; }
.os-map { border-color: #9a5cff73; }
.os-map-core { color: #ff78bf; border-color: #ff2d9a99; background: linear-gradient(120deg,#321429,#1c1a30); }
.os-map-core::after { background: #ff2d9a80; }
.os-map-nodes > div { border-color: #4c7dff66; }
.os-map-nodes > div > .status-dot { background: #809fff; }
.os-map-nodes > div:nth-child(-n+3) { border-color: #05c7f259; }
.os-map-nodes > div:nth-child(-n+3) > .status-dot { background: #05c7f2; }
.os-map-nodes > div:nth-child(4), .os-map-nodes > div:nth-child(5), .os-map-nodes > div:nth-child(7), .os-map-nodes > div:nth-child(9), .os-map-nodes > div:nth-child(13) { border-color: #ff2d9a80; }
.os-map-nodes > div:nth-child(4) > .status-dot, .os-map-nodes > div:nth-child(5) > .status-dot, .os-map-nodes > div:nth-child(7) > .status-dot, .os-map-nodes > div:nth-child(9) > .status-dot, .os-map-nodes > div:nth-child(13) > .status-dot { background: var(--primary-pink); }
.os-map-nodes > div:nth-child(11) { border-color: #9a5cff99; background: #33245f; }
.os-map-nodes > div:nth-child(11) > .status-dot { background: #bc9cff; }
.os-map-nodes > div:first-child, .os-map-nodes > div:nth-child(12) { border-color: #05c7f280; background: #10465a; }
.os-map-nodes > div:nth-child(12) > .status-dot { background: #70dfff; }
.os-inner h2 > span:not(.accent) { background-image: linear-gradient(105deg,#ff4fb3 15%,#bc9cff 66%,#8eacff); }
.final-section { border-top-color: #ff2d9a73; }
.reg-number { color: var(--pink-ink); border-color: #ff2d9a80; background: #291326; }
.registration-card { border-color: #ff2d9a80; background: radial-gradient(ellipse at 90% 0,#ff2d9a17,transparent 65%),#0d1824; }
.store-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-block: 18px 8px; }
.store-link {
  display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 66px; padding: 13px 16px;
  border: 1px solid #ff2d9a99; border-radius: 9px; color: #fff; background: linear-gradient(135deg,#2d162b,#16182a);
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.store-link:hover { border-color: #ff87c9; background: #36182f; box-shadow: 0 8px 25px #ff00a81a; }
.store-symbol { flex: 0 0 25px; }
.store-symbol svg { width: 25px; height: 28px; }
.store-link small { display: block; color: #cbbfce; font-size: 10px; line-height: 1.4; }
.store-link strong { display: block; font-size: 17px; line-height: 1.35; white-space: nowrap; }
.registration-steps .store-links { max-width: 480px; }
.registration-steps h3 { overflow-wrap: anywhere; }
.terra-dialog {
  inset: 0; margin: auto; width: min(520px,calc(100% - 40px)); max-height: calc(100dvh - 40px);
  padding: 42px 34px 30px; overflow-y: auto; overscroll-behavior: contain;
  color: #fff; border: 1px solid #ff2d9a99; border-radius: 18px;
  background: radial-gradient(ellipse at 100% 0,#ff00a81a,transparent 65%),#0c1220;
  box-shadow: 0 32px 100px #0009,0 0 50px #ff00a80f;
}
.terra-dialog:not([open]) { display: none; }
.terra-dialog::backdrop { background: #030710c9; backdrop-filter: blur(6px); }
.terra-dialog h2 { font-size: 34px; line-height: 1.2; letter-spacing: -.045em; margin: 23px 0 16px; }
.terra-dialog > p { color: #c5cedc; font-size: 16px; line-height: 1.7; }
.terra-dialog .eyebrow { color: var(--pink-ink); padding-right: 28px; }
.terra-dialog .store-links { margin-top: 25px; }
.terra-dialog .terra-dialog-note { margin-top: 22px; font-size: 13px; color: #aeb9cc; }
.terra-dialog-close {
  position: absolute; right: 12px; top: 12px; width: 44px; height: 44px;
  display: grid; place-items: center; border: 1px solid #9a5cff66; border-radius: 8px; color: #e7def5; background: #161b2c; cursor: pointer;
}
.terra-dialog-close:hover { background: #31213b; border-color: #ff4fb3; }
@media (max-width: 1000px) {
  .registration-steps .store-links { grid-template-columns: 1fr; max-width: 280px; }
}
@media (max-width: 700px) {
  .hero::before { background: radial-gradient(ellipse at 70% 65%,#ff00a815,transparent 50%); }
  .hero-actions .button { font-size: 12px; padding-inline: 12px; }
  .registration-steps .store-links { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: none; }
  .registration-steps .store-link { padding: 12px 10px; gap: 8px; }
  .registration-steps .store-link strong { font-size: 15px; }
  .program-footer > .button { flex-basis: 100%; margin: 0; }
  .final-inner .hero-actions { flex-direction: column; align-items: stretch; }
  .final-inner .button { width: 100%; font-size: 13px; }
  .terra-dialog { width: 100%; max-width: 100%; max-height: calc(100dvh - 24px); margin: auto 0 0; padding: 38px 24px calc(26px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; }
  .terra-dialog h2 { font-size: 30px; }
}
@media (max-width: 430px) {
  .registration-steps .store-links { grid-template-columns: 1fr; }
  .terra-dialog .store-links { grid-template-columns: 1fr; }
  .terra-dialog { padding-inline: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .store-link { transition: none; }
}
@media print { .terra-dialog { display: none !important; } }
