.play-page{--night:#1a1030;--night-2:#2a1a4a;--plum:#3b2366;--cream:#fbf6ef;--ink:#2c1b4f;--muted:#5c5470;--gold:#c9973f;--gold-soft:#f3d38a;--star:#fff6dd;--dance:#c2326a;--dance-bg:#fdeef3;--dance-line:#f3c4d4;--dance-ph:#f6d3df;--sing:#a8742a;--sing-bg:#fdf3dc;--sing-line:#efd9a4;--sing-ph:#f3e0b5;--act:#4a2c80;--act-bg:#efe9f8;--act-line:#d6cbee;--act-ph:#e0d6f2;--f-display:"Fraunces", Georgia, "Times New Roman", serif;--f-script:"Caveat", "Segoe Print", "Bradley Hand", cursive;--f-body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;background:var(--cream);color:var(--ink);font-family:var(--f-body);min-height:100vh;font-size:16px;line-height:1.5}.play-page *{box-sizing:border-box}.play-page .wrap{max-width:560px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));margin:0 auto}.play-page .hero{color:var(--star);background:linear-gradient(180deg, #04020a 0%, #0a0616 40%, #160c2c 80%, var(--night-2) 100%);flex-direction:column;min-height:min(max(760px,100svh),1100px);padding-bottom:110px;display:flex;position:relative;overflow:hidden}.play-page .hero>.wrap{z-index:2;flex-direction:column;flex:1;width:100%;display:flex;position:relative}.play-page .hero canvas,.play-page .space canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.play-page .space{background:linear-gradient(180deg, #04020a 0%, #0a0616 40%, #160c2c 80%, var(--night-2) 100%);position:relative;overflow:hidden}.play-page .space>:not(canvas){z-index:1;position:relative}.play-page .navspace{height:62px}.play-page .stage{z-index:2;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding-block:40px 24px;display:flex;position:relative}.play-page .presents{letter-spacing:.38em;text-transform:uppercase;color:var(--gold-soft);text-shadow:0 0 14px #f3d38a73;font-size:15px;font-weight:500}.play-page .title-wrap{padding-block:36px;position:relative}.play-page .title-wrap:before{content:"";filter:blur(10px);pointer-events:none;background:radial-gradient(closest-side,#ffecbe4d,#f3aa7824 35%,#825adc24 60%,#0000 100%);width:640px;max-width:170vw;height:380px;animation:9s ease-in-out infinite play-breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes play-breathe{0%,to{opacity:.85;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}}.play-page .play{font-family:var(--f-display);letter-spacing:-.02em;color:#fffaf0;text-shadow:0 0 18px #ffecbe8c,0 0 60px #f3d38a59,0 0 120px #a078e659;margin:0;font-size:clamp(96px,30vw,168px);font-style:italic;font-weight:900;line-height:.9;animation:7s ease-in-out infinite play-flicker;position:relative}@keyframes play-flicker{0%,to{opacity:1}48%{opacity:.96}50%{opacity:.9}52%{opacity:.98}}.play-page .academy{font-family:var(--f-display);opacity:.95;margin:0;font-size:21px;font-weight:500}.play-page .motto{font-family:var(--f-script);color:var(--gold-soft);text-shadow:0 0 22px #f3d38a59;margin:4px 0 0;font-size:clamp(30px,8.5vw,40px);font-weight:700;line-height:1.1}.play-page .intro{opacity:.88;max-width:34ch;margin:18px 0 0;font-size:16.5px;line-height:1.6}.play-page .wave{z-index:3;width:100%;height:70px;display:block;position:absolute;bottom:-1px;left:0;right:0}.play-page section{padding-block:40px 8px}.play-page h2{font-family:var(--f-script);color:var(--plum);transform-origin:0;margin:0 0 18px;font-size:34px;font-weight:700;line-height:1.2;transform:rotate(-2deg)}.play-page .cards{gap:16px;display:grid}.play-page .card{color:var(--ink);border:1px solid;border-radius:20px;grid-template-columns:92px 1fr 20px;align-items:center;gap:16px;padding:14px;text-decoration:none;display:grid}.play-page .ph{aspect-ratio:1;text-align:center;border-radius:14px;place-items:center;max-width:100%;padding:6px;font-size:11px;display:grid;position:relative}.play-page .ic{color:#fff;border:3px solid #fff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:-8px;right:-8px}.play-page .card h3{font-family:var(--f-display);margin:0 0 4px;font-size:27px;font-style:italic;font-weight:900;line-height:1.05}.play-page .card p{color:var(--muted);margin:0;font-size:14.5px}.play-page .card>div:nth-child(2){min-width:0}.play-page .dance{background:var(--dance-bg);border-color:var(--dance-line)}.play-page .dance h3{color:var(--dance)}.play-page .dance .ph{background:var(--dance-ph);color:var(--dance)}.play-page .dance .ic{background:var(--dance)}.play-page .sing{background:var(--sing-bg);border-color:var(--sing-line)}.play-page .sing h3{color:var(--sing)}.play-page .sing .ph{background:var(--sing-ph);color:var(--sing)}.play-page .sing .ic{background:var(--sing)}.play-page .act{background:var(--act-bg);border-color:var(--act-line)}.play-page .act h3{color:var(--act)}.play-page .act .ph{background:var(--act-ph);color:var(--act)}.play-page .act .ic{background:var(--act)}.play-page .video{background:#fff;border:1px solid #e8e0f0;border-radius:22px;overflow:hidden}.play-page .video-link{color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s;display:block}.play-page .video-link:hover,.play-page .video-link:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px #3b23662e,0 0 22px #c9973f38}.play-page .video-link .still{position:relative}.play-page .card-img{object-fit:cover;grid-area:1/1;width:100%;height:100%;display:block}.play-page .meta .age{letter-spacing:.12em;text-transform:uppercase;color:#a67c32;margin:0 0 8px;font-size:13px;font-weight:700}.play-page .still{aspect-ratio:16/10;max-width:100%;color:var(--star);place-items:center;display:grid}.play-page .still-portrait{aspect-ratio:3/4}.play-page .challenge-card{border:4px solid #e8be72;border-radius:16px;width:min(100%,340px);margin:0 auto;box-shadow:0 0 16px #f5a3d161,0 0 40px #f5a3d133}.play-page .challenge-card .meta{padding:14px 16px 16px}.play-page .challenge-card .meta h3{font-size:19px}.play-page .playbtn{cursor:pointer;width:84px;height:84px;color:var(--night);border:0;border-radius:50%;grid-area:1/1;place-items:center;display:grid}.play-page .still>.new{isolation:isolate;color:#fff;font-family:var(--f-script);z-index:2;background:linear-gradient(135deg,#a6124c 0%,#c2185b 25%,#dd4379 50%,#c2185b 75%,#a6124c 100%);border-radius:14px;padding:5px 20px;font-size:28px;position:absolute;top:12px;right:12px;overflow:hidden;transform:rotate(-6deg);box-shadow:0 0 14px #c2185b80,0 0 38px #c2185b42,inset 0 1px #ffebf4b3}.play-page .still>.new:before{content:"";z-index:1;background:linear-gradient(100deg,#0000 5%,#fff0fa26 30%,#fff0faa6 50%,#fff0fa26 70%,#0000 95%);width:42%;animation:4.6s ease-in-out infinite play-glister;position:absolute;top:-50%;bottom:-50%;left:-70%;transform:skew(-18deg)}.play-page .still>.new:after{content:"";z-index:-1;background-image:radial-gradient(2px 2px at 22% 30%,#ffebf8f2,#0000 60%),radial-gradient(1.5px 1.5px at 62% 22%,#ffebf8cc,#0000 60%),radial-gradient(1.5px 1.5px at 78% 62%,#ffebf8d9,#0000 60%),radial-gradient(1.5px 1.5px at 38% 70%,#ffebf8bf,#0000 60%),radial-gradient(2px 2px at 55% 82%,#ffebf8b3,#0000 60%);animation:3.4s ease-in-out infinite play-twinkle;position:absolute;inset:0}.play-page .still>.cap{opacity:.75;font-size:12px;position:absolute;bottom:12px;left:16px}.play-page .still>.player{z-index:1;object-fit:contain;background:#0a06168c;grid-area:1/1;width:100%;height:100%;position:relative}.play-page .meta{padding:18px 20px 22px}.play-page .meta h3{font-family:var(--f-display);margin:0 0 6px;font-size:22px;font-weight:700}.play-page .meta p{color:var(--muted);margin:0;font-size:14px}.play-page .cta{color:var(--star);text-align:center;border-radius:26px;flex-direction:column;align-items:center;gap:14px;margin-top:32px;padding:40px 24px;display:flex}.play-page .cta h2{color:var(--gold-soft);transform-origin:50%;text-wrap:balance;margin:0;font-size:36px;line-height:1.1;transform:rotate(-3deg)}.play-page .cta p{opacity:.95;text-shadow:0 1px 10px #0a0616e6;max-width:30ch;margin:0}.play-page .cta h2,.play-page .still>.cap{text-shadow:0 1px 12px #0a0616d9}.play-page .btn{background:var(--gold);color:var(--night);border-radius:999px;margin-top:8px;padding:15px 30px;font-weight:700;text-decoration:none}.play-page .btn-gold{isolation:isolate;color:var(--night);background:linear-gradient(135deg,#a86f1e 0%,#d29a3c 22%,#f3d38a 45%,#e8b954 60%,#a86f1e 100%);position:relative;overflow:hidden;box-shadow:0 0 16px #c9973f73,0 0 44px #c9973f38,inset 0 1px #fff6dda6}.play-page .btn-gold:before{content:"";z-index:1;background:linear-gradient(100deg,#0000 5%,#fffbeb1f 30%,#fffbeb99 50%,#fffbeb1f 70%,#0000 95%);width:42%;animation:4.6s ease-in-out infinite play-glister;position:absolute;top:-50%;bottom:-50%;left:-70%;transform:skew(-18deg)}.play-page .btn-gold:after{content:"";z-index:-1;background-image:radial-gradient(2px 2px at 22% 30%,#fffcf0e6,#0000 60%),radial-gradient(1.5px 1.5px at 62% 22%,#fffcf0bf,#0000 60%),radial-gradient(1.5px 1.5px at 78% 62%,#fffcf0cc,#0000 60%),radial-gradient(1.5px 1.5px at 38% 70%,#fffcf0b3,#0000 60%),radial-gradient(2px 2px at 55% 82%,#fffcf0a6,#0000 60%);animation:3.4s ease-in-out infinite play-twinkle;position:absolute;inset:0}@keyframes play-glister{0%,58%{left:-70%}92%,to{left:135%}}@keyframes play-twinkle{0%,to{opacity:.5}50%{opacity:1}}.play-page footer{text-align:center;padding-block:40px 48px}.play-page footer b{font-family:var(--f-display);color:var(--plum);letter-spacing:.03em;font-size:18px}.play-page footer p{color:var(--muted);margin:6px 0 0;font-size:13px}@media (prefers-reduced-motion:reduce){.play-page .play,.play-page .title-wrap:before,.play-page .btn-gold:before,.play-page .btn-gold:after,.play-page .still>.new:before,.play-page .still>.new:after{animation:none}}.play-page .dance-hero{min-height:0;padding-bottom:70px}.play-page .dance-hero .stage{gap:10px;padding-block:24px 8px}.play-page .dance-hero .play{font-size:clamp(64px,18vw,104px)}.play-page .trio{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.play-page .tile{text-align:left;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.play-page .tile .ph{aspect-ratio:9/16;background:var(--dance-ph);width:100%;color:var(--dance);border:1px solid var(--dance-line)}.play-page .tile.filled .ph{background:var(--night);color:var(--star);padding:0;overflow:hidden}.play-page .tile .ph video{object-fit:cover;width:100%;height:100%;display:block}.play-page .tile b{font-family:var(--f-display);color:var(--dance);font-size:16px;font-style:italic;line-height:1.1}.play-page .tile small{color:var(--muted);font-size:12px}.play-page .tile:disabled{cursor:default;opacity:.7}.play-page .steps{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.play-page .arrow{border:1px solid var(--dance-line);background:var(--dance-bg);width:48px;height:48px;color:var(--dance);cursor:pointer;border-radius:50%;place-items:center;display:grid}.play-page .arrow:disabled{opacity:.35;cursor:default}.play-page .steps p{text-align:center;color:var(--muted);margin:0;font-size:14px}.play-page .steps p strong{font-family:var(--f-display);color:var(--ink);font-size:18px;display:block}.play-page .speed{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:12px 20px 0;display:flex}.play-page .speed span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12.5px}.play-page .speed button{border:1px solid var(--dance-line);background:var(--dance-bg);color:var(--dance);font:inherit;cursor:pointer;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700}.play-page .speed button.active{background:var(--dance);border-color:var(--dance);color:#fff}.play-page .close{border:1px solid var(--plum);color:var(--plum);cursor:pointer;font-weight:700;font:inherit;background:0 0;border-radius:999px;margin:18px auto 0;padding:11px 26px;font-weight:700;display:block}.play-page .photo-card{aspect-ratio:54/25;cursor:pointer;background:var(--night);color:#fffaf0;text-align:left;width:100%;font:inherit;border:0;border-radius:20px;padding:0;display:block;position:relative;overflow:hidden}.play-page .photo-card img{object-fit:cover;width:100%;height:100%;transition:transform .6s;position:absolute;inset:0}.play-page .photo-card:hover img{transform:scale(1.04)}.play-page .photo-card .shade{background:linear-gradient(90deg,#0a0616d1 0%,#0a061673 55%,#0a06161a 100%);position:absolute;inset:0}.play-page .photo-card .label{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:16px;left:20px;right:48px}.play-page .photo-card .word{font-family:var(--f-display);letter-spacing:-.02em;text-transform:uppercase;color:#fffaf0;text-shadow:0 0 18px #ffecbe8c,0 0 60px #f3d38a59;font-size:clamp(40px,11vw,56px);font-style:italic;font-weight:900;line-height:.9}.play-page .photo-card .sub{opacity:.9;font-size:14px}.play-page .photo-card .chev{color:var(--gold-soft);position:absolute;bottom:20px;right:16px}.play-page .gate-backdrop{z-index:60;background:#0a061699;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.play-page .gate{background:var(--cream);text-align:center;border-radius:24px;width:100%;max-width:420px;padding:32px 24px 24px;position:relative}.play-page .gate h2{transform-origin:50%;margin-bottom:8px;transform:rotate(-2deg)}.play-page .gate p{color:var(--muted);margin:0 0 18px;font-size:14.5px}.play-page .gate form{text-align:left;gap:12px;display:grid}.play-page .gate label{gap:6px;font-size:13px;font-weight:500;display:grid}.play-page .gate input{font:inherit;color:var(--ink);background:#fff;border:1px solid #e0d6f2;border-radius:12px;padding:12px 14px}.play-page .gate .btn{font:inherit;cursor:not-allowed;opacity:.85;border:0;justify-self:center;font-weight:700}.play-page .gate small{color:var(--muted);margin-top:14px;font-size:12px;display:block}.play-page .gate-x{color:var(--plum);cursor:pointer;background:0 0;border:0;position:absolute;top:12px;right:12px}.play-page .gate-test{color:var(--dance);margin-top:12px;font-size:13px;display:inline-block}.play-page .preview-block{text-align:center;flex-direction:column;align-items:center;display:flex}.play-page .preview-block h2{transform-origin:50%;margin:22px 0 6px}.play-page .preview-frame{aspect-ratio:9/16;background:var(--night);border:4px solid #e8be72;border-radius:16px;width:min(100%,340px);overflow:hidden;box-shadow:0 0 16px #f5a3d161,0 0 40px #f5a3d133}.play-page .preview-frame video{object-fit:contain;width:100%;height:100%;display:block}.play-page .preview-ph{height:100%;color:var(--gold-soft);font-family:var(--f-display);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;font-size:17px;display:flex}.play-page .preview-ph small{font-family:var(--f-body);opacity:.7;color:var(--star);font-size:12px}.play-page .preview-text{max-width:34ch;color:var(--muted);margin:0 0 8px}.play-page .preview-block .preview-frame{z-index:4;margin-top:-180px;position:relative}.play-page.dance-environment{--dance-frame:#e8be72;--dance-glow:#f5a3d1}.dance-environment .dance-intro{text-align:center;padding-top:30px}.dance-environment .dance-intro h2,.dance-environment .dance-finale h2{transform-origin:50%;text-wrap:balance}.dance-environment .dance-intro>p,.dance-environment .dance-finale>p{color:var(--muted);margin:0 0 22px}.dance-environment .dance-video-slot{min-width:0}.dance-environment .dance-video-slot.prominent{width:min(100%,340px);margin-inline:auto}.dance-environment .dance-video-frame{aspect-ratio:9/16;border:2px solid var(--dance-line);background:var(--dance-bg);border-radius:16px;overflow:hidden}.dance-environment .prominent .dance-video-frame{border:4px solid var(--dance-frame);box-shadow:0 0 16px color-mix(in srgb, var(--dance-glow) 38%, transparent), 0 0 40px color-mix(in srgb, var(--dance-glow) 20%, transparent)}.dance-environment .dance-video-frame video{object-fit:contain;background:var(--night);width:100%;height:100%;display:block}.dance-environment .dance-video-frame:fullscreen{background:var(--night);border:none;border-radius:0}.dance-environment .dance-video-empty{height:100%;color:var(--dance);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.dance-environment .dance-video-actions{gap:8px;margin-top:12px;display:flex}.dance-environment .dance-video-start,.dance-environment .dance-fullscreen{border-color:var(--dance-line);background:var(--dance-bg);color:var(--dance);box-shadow:none}.dance-environment .dance-video-start{white-space:normal;height:auto;min-height:44px;font-family:var(--f-body);flex:1;padding:10px 8px;font-size:14px;line-height:1.3}.dance-environment .dance-video-start:disabled{opacity:1;color:var(--muted)}.dance-environment .dance-fullscreen{flex-shrink:0;width:44px;height:44px}.play-page .vimeo-video-actions{gap:8px;margin-top:12px;display:flex}.play-page .preview-block .vimeo-video-actions{width:min(100%,340px)}.play-page .vimeo-video-actions .dance-video-start,.play-page .vimeo-video-actions .dance-fullscreen{border-color:var(--dance-line);background:var(--dance-bg);color:var(--dance);box-shadow:none}.play-page .vimeo-video-actions .dance-video-start{white-space:normal;height:auto;min-height:44px;font-family:var(--f-body);flex:1;padding:10px 8px;font-size:14px;line-height:1.3}.play-page .vimeo-video-actions .dance-fullscreen{flex-shrink:0;width:44px;height:44px}.dance-environment .dance-part{border-top:1px solid var(--dance-line);margin-top:32px;padding-top:28px}.dance-environment .dance-part h2{align-items:center;gap:12px;margin-bottom:20px;display:flex;transform:none}.dance-environment .dance-number{background:var(--dance-bg);width:40px;height:40px;color:var(--dance);font-family:var(--f-display);border:1px solid var(--dance-line);border-radius:50%;flex-shrink:0;place-items:center;font-size:22px;display:grid}.dance-environment .dance-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dance-environment .dance-finale{text-align:center;border-top:1px solid var(--dance-line);margin-top:32px;padding-top:32px}.dance-environment .dance-return{text-align:center;margin-top:32px}.dance-environment .dance-return .close{margin-top:0;text-decoration:none;display:inline-block}@media (width<=360px){.dance-environment .dance-pair{gap:10px}.dance-environment .dance-video-start{font-size:13px}}.dance-environment .dance-intro>p.dance-intro-label{font-family:var(--f-body);letter-spacing:.3em;text-transform:uppercase;color:#a67c32;margin:0 0 10px;font-size:13px;font-weight:700}.dance-environment .dance-intro-tagline{font-family:var(--f-script);color:var(--plum);text-wrap:balance;margin:0 0 26px;font-size:clamp(24px,6.5vw,32px);font-weight:700;line-height:1.25}@media (width>=900px){.dance-environment .wrap{max-width:1080px}.dance-environment .dance-pair{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}.dance-environment .dance-back{justify-content:center;align-items:center;gap:8px;margin-top:0;transition:transform .25s,box-shadow .25s;display:inline-flex}.dance-environment .dance-back:hover{transform:translateY(-2px);box-shadow:0 0 22px #c9973f99,0 0 54px #c9973f4d,inset 0 1px #fff6dda6}.dance-environment .dance-outro{text-align:center;border-top:1px solid var(--dance-line);margin-top:32px;padding-top:32px}.dance-environment .dance-outro h2{transform-origin:50%;color:var(--dance);text-wrap:balance;transform:rotate(-2deg)}.dance-environment .dance-outro p{max-width:40ch;color:var(--muted);margin:0 auto 10px}.dance-environment .dance-outro .dance-soon{color:var(--ink);font-weight:500}.dance-environment .dance-rating{box-sizing:border-box;background:var(--cream);border:2px solid var(--dance-frame);text-align:center;border-radius:20px;width:min(100%,340px);margin:24px auto 0;padding:16px 14px}.dance-environment .dance-rating h2{margin:0 0 2px;font-size:1.25rem}.dance-environment .dance-rating>p{color:var(--muted);font-family:var(--f-script);margin:0 0 8px;font-size:1.25rem}.dance-environment .dance-rating-stars{justify-content:center;gap:6px;margin-bottom:12px;display:flex}.dance-environment .dance-rating-stars button{cursor:pointer;color:var(--gold);background:0 0;border:0;padding:3px;transition:transform .15s}.dance-environment .dance-rating-stars button svg{fill:currentColor;stroke:currentColor;stroke-width:1.2px;width:clamp(26px,7vw,34px);height:clamp(26px,7vw,34px);display:block}.dance-environment .dance-rating-stars button.on,.dance-environment .dance-rating-stars button:hover{transform:scale(1.18)}.dance-environment .dance-rating-stars button:focus-visible{outline:2px solid var(--dance-frame);outline-offset:2px;border-radius:8px}.dance-environment .dance-rating-send{background:var(--cream);color:var(--plum);border:1.5px solid var(--gold);font:inherit;cursor:pointer;border-radius:999px;padding:8px 20px;font-size:.9rem;font-weight:700}.dance-environment .dance-rating-send:disabled{cursor:not-allowed}.dance-environment .dance-rating-thanks{font-family:var(--f-display);color:var(--ink);margin:0;font-size:1.1rem}.dance-environment .dance-rating-error{color:var(--dance);margin:8px 0 0;font-size:.9rem}
