@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--ink:#221342;--purple:#6736d6;--pink:#ff69b0;--lilac:#e8d8ff;--cream:#fffaf3;--mint:#d1f5e7;--coral:#ffe1d7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',system-ui,sans-serif}button,a{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #f47832;outline-offset:3px}.sr{position:absolute;left:-9999px}.skip{position:absolute;left:-9999px;background:white;padding:10px}.skip:focus{left:10px;z-index:99}.top{height:79px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1160px)/2));position:sticky;top:0;z-index:20;box-shadow:0 2px 16px #2814410c}.brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:21px;letter-spacing:-1.1px;text-decoration:none;display:flex;gap:8px;align-items:center}.brand-icon{font-size:34px;color:var(--purple)}.brand-light{color:var(--purple)}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-weight:800;font-size:13px}nav a:hover,nav a.selected{color:var(--purple)}.menu{display:none;background:transparent;border:0;font-size:25px}.page{display:none;min-height:70vh;padding-bottom:75px}.page.active{display:block}.hero{max-width:1160px;margin:62px auto 26px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding:0 28px}.eyebrow{display:inline-block;background:#f1e9ff;color:var(--purple);padding:9px 15px;border-radius:999px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.hero h1,.section-title h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(43px,5.3vw,77px);line-height:1.04;letter-spacing:-.068em;margin:21px 0}.hero h1 em,.section-title h1 em,.daily h2 em{font-style:normal;color:var(--purple)}.hero p,.section-title p{font-size:18px;line-height:1.65;max-width:480px}.primary,.outline{border:0;border-radius:999px;padding:16px 26px;font-weight:800;font-size:14px;display:inline-flex;gap:16px;justify-content:center;align-items:center}.primary{background:var(--purple);color:white;box-shadow:0 6px 0 #432393}.primary:hover{transform:translateY(-2px)}.outline{background:#fff;border:2px solid var(--purple);color:var(--purple)}.tiny{font-size:12px;color:#716584;margin-top:28px}.hero-art{height:430px;border-radius:40px;background:radial-gradient(circle at 80% 70%,#ffc3dc,transparent 45%),linear-gradient(130deg,#c6aaff,#ffbcdb 75%);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:16px 16px 0 #f4e9ff}.hero-art .dancer{font-size:230px;color:#fff;transform:rotate(-20deg);text-shadow:12px 14px 0 #ac80f5}.sticker{position:absolute;z-index:1;top:35px;right:33px;transform:rotate(14deg);background:#ffea76;border:3px solid #221342;box-shadow:5px 5px 0 #221342;border-radius:50%;padding:27px 24px;line-height:1;font-size:19px;font-weight:900;text-align:center}.art-caption{position:absolute;bottom:22px;color:#4e2e77;background:#ffffffbb;border-radius:20px;padding:8px 12px;font-size:10px;letter-spacing:.1em;font-weight:800}.feature-grid,.daily{max-width:1104px;margin:0 auto;padding:0;display:grid;gap:17px}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature{border:2px solid var(--ink);border-radius:22px;min-height:173px;text-align:left;padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:5px 5px 0 var(--ink);transition:transform .15s}.feature:hover{transform:translateY(-4px)}.feature span{font-size:29px}.feature strong{font-size:19px;line-height:1.15}.feature small{font-size:13px}.coral{background:var(--coral)}.lilac{background:var(--lilac)}.mint{background:var(--mint)}.daily{margin-top:40px;grid-template-columns:1fr auto;align-items:center;border-radius:28px;background:#f0e8ff;padding:35px 40px}.daily h2{font-family:'Space Grotesk';font-size:30px;letter-spacing:-1.5px;margin-bottom:5px}.daily p{line-height:1.6}.section-title{text-align:center;padding:65px 20px 30px}.section-title h1{font-size:clamp(38px,5vw,62px);margin:18px auto}.section-title p{margin:auto}.choice-grid{max-width:910px;margin:20px auto;display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:0 20px}.choice,.answer{border:2px solid #42266c;background:#fff;border-radius:20px;text-align:left;padding:23px;font-weight:800;box-shadow:4px 4px 0 #d6c0fa}.choice:hover,.answer:hover{background:#f2eaff}.choice span{font-size:29px;display:block;margin-bottom:10px}.result,.quiz-intro{max-width:840px;margin:25px auto;padding:38px;background:#f0e9ff;border:2px solid var(--ink);border-radius:30px;text-align:center}.result h2{font-family:'Space Grotesk';font-size:36px;letter-spacing:-1.5px}.result p{font-size:17px;line-height:1.7}.result .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:23px}.quiz-spark{font-size:66px;margin:15px}.quiz-intro p{font-size:22px;font-weight:700}.hidden{display:none!important}#quizBox{max-width:780px;margin:20px auto;padding:0 20px}#quizBox h2{font-size:30px;font-family:'Space Grotesk';letter-spacing:-1px}.progress{height:11px;background:#e4d4fa;border-radius:20px;overflow:hidden}.progress>div{height:100%;width:0;background:var(--purple);transition:width .3s}.quiz-count{color:var(--purple);font-weight:800;font-size:12px;letter-spacing:.1em}.answer-grid{display:grid;gap:12px}.answer{font-size:16px}.text-button{background:transparent;border:0;text-decoration:underline;padding:25px 0;color:var(--purple);font-weight:700}.center-head{text-align:center;margin:70px 0 25px;font-family:'Space Grotesk'}.powers,.booster-grid{max-width:1104px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 15px}.power{background:#fff;border:2px solid var(--ink);border-radius:22px;overflow:hidden;box-shadow:5px 5px 0 #ded2ed}.power-art{height:200px;display:flex;align-items:center;justify-content:center;position:relative;font-size:80px}.power-art small{position:absolute;bottom:9px;font-size:10px;letter-spacing:.08em;font-weight:800;background:#ffffffc7;border-radius:12px;padding:5px}.power-body{padding:19px}.power h3{margin:0;font-family:'Space Grotesk';font-size:22px}.power p{font-size:14px;line-height:1.55}.challenge-card{max-width:680px;margin:18px auto;background:#f3e9ff;border:3px solid var(--ink);border-radius:35px;padding:44px;text-align:center;box-shadow:9px 9px 0 #d0b0ff}.challenge-card .tag{font-size:12px;font-weight:900;letter-spacing:.11em;color:var(--purple)}.challenge-icon{font-size:80px;margin:18px}.challenge-card h2{font-family:'Space Grotesk';font-size:37px;letter-spacing:-1.5px}.challenge-card p{font-size:19px;line-height:1.6}.subtle{display:block;font-size:12px;color:#716584;margin:26px 0}.booster{border:2px solid var(--ink);background:#fff;border-radius:22px;overflow:hidden;box-shadow:5px 5px 0 #ded2ed;text-align:left}.booster-top{height:160px;display:flex;align-items:center;justify-content:center;font-size:65px;position:relative}.booster-top small{position:absolute;bottom:10px;font-size:10px;font-weight:800;background:#ffffffb7;padding:5px;border-radius:8px}.booster-info{padding:21px}.booster h3{font-family:'Space Grotesk';font-size:22px;margin:0 0 9px}.booster p{font-size:14px;line-height:1.5}.booster .read{color:var(--purple);font-weight:800;font-size:13px}.detail{max-width:800px;margin:35px auto;background:#fff;border-radius:24px;padding:35px;border:2px solid var(--purple)}.detail h2{font-family:'Space Grotesk';font-size:32px}.detail li{margin:14px 0;line-height:1.6}.detail .practice{background:#f0e8ff;border-radius:15px;padding:18px;margin-top:23px}.story-layout{max-width:1104px;margin:10px auto;display:grid;grid-template-columns:42% 1fr;gap:50px;padding:0 20px}.story-art{min-height:450px;background:linear-gradient(135deg,#c7b0ff,#ffb4d8);border-radius:35px;display:flex;align-items:center;justify-content:center;flex-direction:column}.story-art span{font-size:180px;color:white}.story-art small{font-weight:800;font-size:11px;color:#5c4089}.story-layout h2{font-family:'Space Grotesk';font-size:27px}.story-layout p{font-size:16px;line-height:1.75}.story-note{background:#f2eaff;border-left:5px solid var(--purple);padding:18px 23px;border-radius:10px}footer{background:#271746;color:#fff;padding:39px max(28px,calc((100vw - 1104px)/2));display:flex;flex-direction:column;gap:10px}footer strong{font-family:'Space Grotesk';font-size:19px}footer span{color:#f7c0e3}footer small{color:#d2c5e5;max-width:660px;line-height:1.5}@media(max-width:820px){.hero{grid-template-columns:1fr; margin:32px auto 40px}.hero-art{height:320px}.feature-grid,.powers,.booster-grid{grid-template-columns:repeat(2,1fr);padding:0 20px}.daily{margin:32px 20px;grid-template-columns:1fr}.story-layout{grid-template-columns:1fr}.story-art{min-height:260px}.top{height:70px;padding:0 20px}.menu{display:block}nav{display:none;position:absolute;top:70px;right:0;left:0;background:white;padding:20px;flex-direction:column;align-items:stretch;gap:15px;box-shadow:0 8px 12px #0002}nav.open{display:flex}}@media(max-width:540px){.feature-grid,.powers,.booster-grid,.choice-grid{grid-template-columns:1fr}.hero h1{font-size:50px}.hero-art{height:250px}.sticker{transform:scale(.75) rotate(14deg);top:0;right:0}.daily{padding:22px}.section-title{padding-top:40px}.result,.challenge-card{margin:15px;padding:25px}.result h2,.challenge-card h2{font-size:29px}.story-layout{gap:20px}.hero p{font-size:16px}.brand{font-size:19px}}

/* Dance Connect pink identity and artwork */
:root{--ink:#4e1b39;--purple:#d62478;--pink:#f2469e;--lilac:#ffe0ee;--cream:#fff8fb;--mint:#ffe6f3;--coral:#ffd4e5}body{background:linear-gradient(#fff9fc,#fff3f8)}.top{height:82px}.brand .nav-logo{height:68px;width:78px;object-fit:contain;mix-blend-mode:multiply}.brand{gap:0}.top nav a:hover,.top nav a.selected{color:#c61568}.hero{display:flex;flex-direction:column;max-width:1200px;gap:16px;margin-top:18px}.hero-banner{display:block;width:100%;max-height:450px;object-fit:cover;border-radius:28px;box-shadow:0 12px 35px #df5c9a19}.hero-text{text-align:center;margin:20px auto 40px;max-width:750px}.hero-text p{max-width:650px;margin:0 auto 24px}.hero h1{font-size:clamp(42px,5vw,65px)}.feature{border:1px solid #f2b2ce;box-shadow:0 8px 20px #d75a901c}.feature-grid{padding:0 20px}.daily{background:#ffe7f1;margin-left:20px;margin-right:20px}.eyebrow{background:#ffe5f1;color:#b71a62}.power,.booster{border:1px solid #f4b7d0;box-shadow:0 8px 20px #dc6b9824}.power-image{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.booster-image{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.quiz-result-image{width:min(360px,100%);border-radius:18px;display:block;margin:auto}.page-banner{width:min(1200px,calc(100% - 32px));max-height:350px;object-fit:cover;display:block;border-radius:24px;margin:28px auto 0}.story-copy{max-width:790px;margin:32px auto;padding:0 22px}.story-copy h1{font-size:clamp(38px,5vw,56px);font-family:Georgia,serif;color:#c31f6e}.story-copy h2{font-size:29px;margin-top:34px;color:#af215f}.story-copy p{font-size:17px;line-height:1.8}.story-note{background:#ffe5f0;border-left-color:#db2e7f}.note-small{font-size:13px!important;color:#805d71}.affirmation-area{max-width:800px;margin:50px auto 0;padding:36px 22px;text-align:center;background:#ffecf4;border-radius:28px}.affirmation-area h2{font-size:27px}.affirmation{font-size:22px;font-weight:800;color:#bb246d;min-height:30px}.detail-sub{color:#a1316a;font-weight:700}.detail h3{color:#c52170;margin-top:30px}.detail .practice{background:#ffeaf2}.primary{background:#d82b7a;box-shadow:0 5px 0 #a51957}.outline{border-color:#d82b7a;color:#c2196a}.result,.quiz-intro,.challenge-card{background:#ffeaf4;border-color:#d7669a;box-shadow:none}.choice,.answer{border-color:#d7669a;box-shadow:3px 4px 0 #f6c3da}.choice:hover,.answer:hover{background:#fff0f7}footer{background:#672448}.progress>div{background:#db2977}
@media(max-width:820px){.top{height:72px}.brand .nav-logo{height:58px}.hero{margin:12px auto 25px}.page-banner{max-height:250px}nav{top:72px}}
@media(max-width:540px){.hero-banner{min-height:150px;border-radius:12px}.hero-text{margin:14px auto 28px}.hero h1{font-size:42px}.story-copy p{font-size:16px}.feature-grid{padding:0 16px}.page-banner{max-height:180px}.detail{padding:22px}.affirmation-area{margin:30px 16px}}

/* Dance Connect v3: daily alignment, challenge wheel and Real or Reel */
.daily{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}
.daily>div{max-width:740px}.daily .outline{margin-inline:auto}
.wheel-wrap{width:min(290px,80vw);height:300px;margin:20px auto 10px;position:relative;display:flex;align-items:center;justify-content:center}
.dance-wheel{height:260px;width:260px;border-radius:50%;border:9px solid white;box-shadow:0 0 0 5px #d82b7a,0 14px 28px #a62c7133;background:conic-gradient(#ff77ae 0deg 45deg,#ffd35d 45deg 90deg,#b5a3ff 90deg 135deg,#ffb4d1 135deg 180deg,#8ce4d3 180deg 225deg,#ff83c0 225deg 270deg,#fdc4ef 270deg 315deg,#bd9bf8 315deg 360deg);display:grid;place-items:center;transition:transform 2.3s cubic-bezier(.12,.78,.1,1)}
.wheel-center{height:105px;width:105px;display:grid;place-items:center;background:white;color:#b51b68;font-size:14px;font-weight:900;line-height:1.3;border-radius:50%;border:5px solid #ffe0ee;box-shadow:0 3px 10px #7b285833}
.wheel-pointer{position:absolute;z-index:2;top:-9px;left:50%;transform:translateX(-50%);font-size:32px;color:#a82270;text-shadow:0 2px white}
.wheel-status{min-height:22px;font-size:14px!important;font-weight:700;color:#ae2366}
button:disabled{opacity:.65;cursor:wait}
.reality-intro,.reality-game,.reality-finish,.reality-tips{max-width:800px;margin:20px auto 50px;padding:35px 25px;text-align:center;border-radius:26px;background:#ffe9f3}
.reality-intro h2,.reality-finish h2,.reality-tips h2{font-family:'Space Grotesk',sans-serif;font-size:31px}
.reality-stickers{font-size:48px;margin-bottom:15px}.reality-intro p,.reality-finish p{font-size:17px;line-height:1.65}
.reality-progress{font-size:13px;color:#ad286c;letter-spacing:2px;font-weight:900;margin:0 0 22px}
.reality-card{background:white;padding:38px 28px;border-radius:24px;border:2px solid #f4a9d1;box-shadow:0 10px 22px #be48851a}
.reality-card h2{font-size:clamp(23px,3.5vw,32px);line-height:1.35;margin:20px auto 27px;max-width:650px}
.reality-options{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.reality-option{border:2px solid #b92373;border-radius:18px;min-width:135px;padding:18px 24px;background:#fff4fa;color:#862b61;font-size:19px;font-weight:900}.reality-option:hover,.reality-option.chosen{background:#fbc7e0}.reality-option:disabled{cursor:default;opacity:1}
.reality-feedback{background:#fff0f7;text-align:left;padding:22px;margin:24px auto;border-radius:18px;line-height:1.6}.reality-feedback strong{color:#a71e69;font-size:21px}.reality-feedback p{margin-bottom:0}
#realityNext{margin-top:18px}.reality-tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}.reality-tip-grid article{background:white;padding:20px;border-radius:18px}.reality-tip-grid p{font-size:14px;line-height:1.6}
.reality-finish .outline{margin:10px}
@media(max-width:650px){.reality-tip-grid{grid-template-columns:1fr}.reality-intro,.reality-game,.reality-finish,.reality-tips{margin:16px 12px 28px;padding:24px 14px}.reality-card{padding:25px 16px}}

/* v3.2: centre the Daily Drop CARD, not just its contents */
#home .daily {
  width: min(1104px, calc(100% - 40px));
  max-width: 1104px;
  margin: 40px auto 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
}
#home .daily > div { width: 100%; max-width: 760px; }
#home .daily .outline { align-self: center; }
@media (max-width: 540px) { #home .daily { width: calc(100% - 32px); margin: 30px auto 0 !important; } }
/* Challenge names printed around the spinning wheel */
.dance-wheel { position:relative; }
.wheel-slice-label {position:absolute;left:50%;top:50%;width:87px; text-align:center; font-weight:900; font-size:10px;line-height:1.05;color:#6c194a;pointer-events:none;text-shadow:0 1px 1px #fff9;transform-origin:center center;}
.wheel-center { position:relative;z-index:2; }
