:root{font-family:Arial,Helvetica,sans-serif;color:#f0f6ff;background:#030610;font-synthesis:none;font-weight:400;--accent: #328cff;--red: #ff3659;--muted: #8e9eb8;--line: #ffffff13}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.45}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:inherit}button,progress,input{-webkit-tap-highlight-color:transparent}button{border:0}button:active:not(:disabled){transform:translateY(1px)}.app{min-height:100vh;max-width:1800px;margin:auto;position:relative;overflow:hidden;background:#030610}.noise{display:none}.header{height:106px;margin:0 5%;display:flex;align-items:center;gap:48px;border-bottom:1px solid var(--line);position:relative;z-index:12}.brand{display:flex;align-items:center;gap:9px;background:transparent;padding:0;font-size:28px;letter-spacing:-1.4px;font-weight:800}.brand svg{color:var(--accent)}.brand-dot{color:var(--accent)}.header-tag{font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:5px}.header nav{margin-left:auto;display:flex;align-items:center;gap:26px}.nav-link{background:none;font-size:12px;color:#d8d3e0;padding:10px 0}.nav-link span{margin-left:12px;color:#9b91a7}.nav-divider{height:18px;width:1px;background:var(--line)}.icon-button{background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:8px;color:#b0c2db;border-radius:8px}.icon-button:hover{background:#ffffff0b;color:#fff}main{position:relative;min-height:650px;padding:0 5%}.welcome main{min-height:725px}.stage-shell{position:absolute;right:-1%;top:12px;width:66%;height:570px;pointer-events:none;mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 94%,transparent 100%);opacity:.95}.stage-shell canvas{display:block}.hero{position:relative;padding-top:65px;z-index:2;max-width:540px;pointer-events:none}.hero button{pointer-events:auto}.eyebrow{display:flex;align-items:center;gap:9px;letter-spacing:2px;font-size:9px;font-weight:700;color:#a9bad4}.tiny-star{color:var(--accent);font-size:19px;margin-right:2px}.hero h1{font-size:clamp(68px,6.8vw,104px);line-height:1.02;letter-spacing:-6px;margin:28px 0 24px;font-weight:800}em{font-family:inherit;font-style:normal;font-weight:800;color:var(--accent);letter-spacing:-4px}.hero-copy{font-size:15px;line-height:1.85;color:#a1afc7;margin:0 0 28px;letter-spacing:.1px}.primary{background:var(--accent);color:#fff;min-height:51px;padding:0 23px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:13px;box-shadow:0 0 30px #328cff08;transition:background .2s,box-shadow .2s}.primary:hover{background:#65aaff;box-shadow:0 0 34px #328cff1c}.primary>svg:last-child{margin-left:auto}.primary.large{width:264px;height:55px;font-size:14px}.primary.large>svg:first-child{margin-right:3px}.preview-link{background:none;display:flex;gap:9px;align-items:center;padding:21px 0 19px;font-size:11px;color:#cbc3d4}.play-circle{border:1px solid #8d7e9e75;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;color:#d6c2e8}.small-muted{font-size:9px;color:#85788f;margin-left:7px}.requirements{display:flex;gap:8px;align-items:center;font-size:10px;color:#91a2bb;margin-top:6px}.requirements svg{color:#bcb1c9}.stage-label{position:absolute;top:48px;left:57%;display:flex;align-items:center;gap:8px;letter-spacing:2px;font-size:9px;color:#b8cbe6}.status-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #328cff60;flex-shrink:0}.status-dot.muted{background:#d3ad6c;box-shadow:none}.stage-label-small{letter-spacing:1px;color:#7890b0;font-size:8px;margin-left:20px}.stage-caption{position:absolute;left:65%;top:430px;display:flex;align-items:center;gap:18px;font-size:8px;letter-spacing:3px;color:#aa97b7}.color-key{width:22px;height:22px;border:1px solid currentColor;display:grid;place-items:center;transform:rotate(-3deg);font-size:10px;letter-spacing:0;font-weight:700;border-radius:5px}.accent{color:var(--accent)}.red{color:var(--red)}.saber-left{color:#ff3659}.saber-right{color:#48a4ff}.track-card{position:absolute;top:500px;right:6%;width:382px;display:flex;gap:14px;align-items:center;padding:14px 15px;background:#080f20e8;border:1px solid #a27eba25;backdrop-filter:blur(14px);border-radius:9px;box-shadow:0 10px 50px #0002}.track-card img{width:56px;height:56px;object-fit:cover;border-radius:4px}.track-card>div{display:flex;flex-direction:column;gap:6px}.micro{font-size:8px;letter-spacing:1.8px;color:#8b9fbe;font-weight:600}.track-card strong{font-size:15px;font-weight:500}.track-card div>span:last-child{color:#91a2bb;font-size:9px;display:flex;align-items:center;gap:7px}i{display:inline-block;width:2px;height:2px;background:currentColor;border-radius:50%;vertical-align:middle}.equalizer{margin-left:auto;display:flex;align-items:center;gap:3px;color:var(--accent);height:20px}.equalizer i{width:2px;border-radius:2px;height:8px}.equalizer i:nth-child(2){height:18px}.equalizer i:nth-child(3){height:12px}.equalizer i:nth-child(4){height:6px}.movement-strip{position:relative;display:grid;grid-template-columns:1.15fr 1.1fr 1fr;border-top:1px solid var(--line);margin-top:79px;padding:31px 0 35px;gap:30px}.movement{display:flex;align-items:center;gap:18px;position:relative}.movement+.movement{border-left:1px solid var(--line);padding-left:26px}.movement-number{font-size:8px;align-self:flex-start;color:#71667f;letter-spacing:1px;margin-top:5px}.gesture{font-size:29px;line-height:40px;width:35px;color:var(--accent);font-weight:300}.pose-gesture{font-size:18px;color:var(--red);width:44px;letter-spacing:-4px}.lean-gesture{color:#a9a6ed;font-size:37px}.movement h3{font-size:12px;margin:0 0 8px;font-weight:500;color:#edf4ff}.movement p{font-size:10px;margin:0;color:#91a2bb;line-height:1.5}footer{margin:0 5%;border-top:1px solid var(--line);padding:22px 0 26px;display:flex;align-items:center;gap:28px;position:relative;color:#8e829c;font-size:9px}footer>div{display:flex;align-items:center;gap:8px}footer>div svg{color:#afa2bc}footer>span{font-size:7px;letter-spacing:1.4px;display:flex;gap:8px;align-items:center}.footer-version{margin-left:auto;color:#73657f}.flow-panel{padding:65px 0 60px;max-width:430px;position:relative;z-index:3}.flow-panel h2,.modal h2{font-size:49px;letter-spacing:-2.7px;line-height:1.08;font-weight:600;margin:25px 0 20px}.flow-panel h2 em{letter-spacing:-2.8px}.flow-panel>p,.modal>p{font-size:13px;color:#a1afc7;line-height:1.9}.flow-panel .primary{width:100%;margin-top:25px}.subtle{font-size:10px!important;line-height:1.8!important;color:#91a2bb!important}.text-button{padding:16px 0;background:none;color:#a9bad4;font-size:11px;width:100%;text-align:center}.text-button:hover{color:var(--accent)}.secondary{min-height:42px;padding:10px 16px;border:1px solid #c4a7df45;border-radius:5px;background:#b88cce0a;color:#d4c3e3;font-size:11px}.secondary:hover{background:#b88cce18}.step-progress{display:flex;gap:6px;margin:23px 0 40px}.step-progress span{height:2px;background:#ffffff15;flex:1}.step-progress .filled{background:var(--accent)}.calibration .eyebrow>span{margin-left:auto}.calibration-status{display:flex;gap:7px;align-items:center;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px;font-size:10px;color:#c0b5cd}.calibration-status>span:last-child{margin-left:auto;color:#8f809e;font-size:9px}.verification-pills{display:flex;gap:10px;margin-top:20px}.verification-pills span{border:1px solid #fff2;padding:12px 17px;color:#9787a6;border-radius:4px;font-size:11px;flex:1}.verification-pills .verified{color:var(--accent);border-color:#328cff55}.timing-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.timing-controls p{width:100%;font-size:10px;color:#ac98bb}.inline-error{color:#efbe8a!important;font-size:11px!important}.camera-preview{position:absolute;right:5%;top:305px;width:288px;height:216px;overflow:hidden;border-radius:8px;border:1px solid #b994d04a;background:#080e1c;z-index:4;visibility:hidden}.camera-preview.shown{visibility:visible}.camera-preview video{width:100%;height:100%;object-fit:contain;transform:scaleX(-1);opacity:.85}.camera-landmarks{position:absolute;inset:0;width:100%;height:100%}.camera-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:7px;background:#080e1cef;padding:9px 12px;font-size:9px;color:#e0d0ee}.camera-caption>span:last-child{margin-left:auto}.song-row{display:flex;gap:17px;align-items:center;margin:30px 0}.song-row img{width:88px;height:88px;border-radius:6px}.song-row h3{margin:0 0 7px;font-size:19px;letter-spacing:-.5px}.song-row p{font-size:10px;color:#9d8bab;margin:0 0 9px}.song-row .micro{font-size:7px}.difficulty{display:grid;grid-template-columns:1fr 1fr;gap:10px}.difficulty button{display:flex;flex-direction:column;gap:8px;text-align:left;padding:17px;background:#0a1121;border:1px solid #9a7eb62d;border-radius:6px}.difficulty button.selected{background:#328cff0b;border-color:#328cff88}.difficulty strong{font-size:13px}.difficulty .selected strong{color:var(--accent)}.difficulty span{font-size:9px;color:#a391b1}.loading-orbit{width:45px;height:45px;margin:65px 0 40px;border:1px solid #b795d03a;border-top-color:var(--accent);border-radius:50%;animation:orbit 1.4s linear infinite}.loading-orbit.small{width:30px;height:30px;margin:24px auto}.notice{position:fixed;bottom:24px;left:50%;transform:translate(-50%);max-width:95vw;background:#101b30;border:1px solid #a27bba4f;padding:10px 14px 10px 20px;display:flex;align-items:center;gap:16px;font-size:11px;color:#dfccec;z-index:40;border-radius:7px}.in-game main{height:calc(100vh - 106px);min-height:620px}.in-game .stage-shell{width:100%;height:100%;top:0;right:0;mask-image:none}.game-top{display:flex;align-items:start;justify-content:space-between;padding-top:35px;position:relative;z-index:3;pointer-events:none}.game-top>div:first-child{display:flex;flex-direction:column;gap:10px;width:35%}.game-top strong{font-size:17px;font-weight:500;color:#edf4ff}.combo{text-align:center;display:flex;flex-direction:column;gap:5px}.combo>span:first-child{font-size:50px;font-weight:600;letter-spacing:-2px}.combo small{color:var(--accent);font-size:22px;margin-left:3px}.game-actions{display:flex;align-items:center;gap:22px;justify-content:end;width:35%;pointer-events:auto}.game-actions button{border:1px solid #b59bcd3d}.game-legend{position:absolute;bottom:160px;left:15%;right:15%;display:flex;align-items:center;justify-content:space-between;color:#9789a6;font-size:8px;letter-spacing:2px;pointer-events:none}.game-legend b{font-size:15px;margin:0 8px}.hand-tracking{display:flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid #7a9ec633;border-radius:8px;background:#07101ee0}.hand-tracking>span{display:flex;flex-direction:column;gap:4px}.hand-tracking:last-child{text-align:right}.hand-tracking small{color:#a1b7d6;font-size:9px;letter-spacing:1px}.hand-tracking.tracked small{color:#a1e7cf}.hand-tracking.lost{border-color:#ffbd7755}.hand-tracking.lost small{color:#ffbd77}.hit-plane-label{font-size:7px;color:#bcafd3}.song-progress{position:absolute;left:5%;right:5%;bottom:37px}.song-progress>div{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#b4a6c5;margin-bottom:13px}.song-progress>div>span:nth-child(2){display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:2px}progress{appearance:none;width:100%;height:3px;border:0;display:block;border-radius:5px;background:#54405f}progress::-webkit-progress-bar{background:#ffffff15;border-radius:5px}progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.countdown-overlay{position:absolute;top:36%;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;z-index:5;width:90%}.countdown-overlay .eyebrow{justify-content:center}.countdown-overlay strong{display:block;color:var(--accent);font-size:120px;line-height:1.3;font-weight:500}.countdown-overlay p{font-size:12px;color:#c1accf}.judgment{position:absolute;top:34%;left:50%;transform:translate(-50%);font-size:39px;letter-spacing:-2px;color:var(--accent);z-index:3;text-shadow:0 0 20px #328cff50;pointer-events:none;transition:opacity .12s}.judgment>span{font-size:9px;display:block;text-align:center;letter-spacing:2px;color:#e0ccef;margin-top:10px}.judgment.miss{color:#e3bfd0;text-shadow:none}.overlay-backdrop{position:fixed;inset:0;background:#0e091bd9;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:30;padding:30px;overflow:auto}.modal{max-width:470px;width:100%;padding:38px;border:1px solid #af8fc738;border-radius:13px;background:#090f1f;position:relative;box-shadow:0 20px 90px #0005;max-height:90vh;overflow:auto}.modal-close{position:absolute;right:15px;top:15px}.modal h2{font-size:38px;letter-spacing:-1.8px;margin-bottom:27px}.modal .eyebrow{font-size:8px}.modal .primary{width:100%;margin-top:25px}.modal.pause-modal{max-width:430px;text-align:center}.pause-modal .eyebrow{justify-content:center}.setting{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:11px;color:#c1cde0;gap:20px}.setting input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.setting input[type=range]{width:112px;accent-color:var(--accent)}.setting small{display:block;color:#91a2bb;font-size:9px;margin-top:6px}.modal .secondary{width:100%;margin-top:20px}.help-moves p{font-size:12px;line-height:1.8;color:#c1afcf;margin:23px 0}.help-moves b{display:block;font-size:9px;letter-spacing:2px;margin-bottom:7px}.results-score{font-size:61px;letter-spacing:-3px;margin:28px 0 24px}.results-score span{display:block;font-size:8px;letter-spacing:2px;color:var(--accent);margin-top:9px}.result-stats{display:flex;gap:60px;border-block:1px solid var(--line);padding:20px 0}.result-stats>div{display:flex;flex-direction:column;gap:7px}.result-stats strong{font-size:31px;font-weight:500}.result-stats small{font-size:15px;color:#bca1d1;margin-left:4px}.result-stats span{font-size:8px;letter-spacing:2px;color:#9c88ad}.judgment-breakdown{display:flex;justify-content:space-between;margin-top:24px}.judgment-breakdown>div{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#a995ba}.judgment-breakdown strong{color:#e3d0f0;font-size:14px;font-weight:500}.diagnostics{position:fixed;right:18px;bottom:18px;padding:16px;background:#100a1af0;border:1px solid #b795d050;border-radius:7px;z-index:45;font:10px/1.6 monospace;width:335px;pointer-events:none}.diagnostics strong{font-size:9px;letter-spacing:1px;color:var(--accent)}.diagnostics dl{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:10px 0}.diagnostics dt{color:#a993bc}.diagnostics dd{text-align:right;margin:0;color:#e1cfef}.diagnostics p{margin:9px 0 0;color:#91809f;font-size:8px}.in-game .camera-preview{top:auto;bottom:115px;width:200px;height:150px;right:3%}@keyframes orbit{to{transform:rotate(360deg)}}@media(min-width:1600px){.welcome main{min-height:830px}.hero{padding-top:95px}.stage-shell{height:650px}.track-card{top:570px}.stage-caption{top:490px}.movement-strip{margin-top:110px}.hero h1{font-size:115px}}@media(max-width:1050px){.header-tag{display:none}.hero h1{font-size:78px}.hero{max-width:420px}.stage-shell{right:-15%;width:80%;opacity:.7}.hero-copy{font-size:13px}.track-card{right:3%;width:320px;top:485px}.track-card img{width:44px;height:44px}.stage-label{left:59%;font-size:8px}.stage-label-small{display:none}.stage-caption{left:62%;gap:10px;font-size:7px;letter-spacing:1px;top:415px}.movement-strip{gap:18px}.movement{gap:9px}.movement+.movement{padding-left:17px}.movement p{font-size:9px}.movement h3{font-size:11px}.gesture{width:27px}.movement-number{display:none}.welcome main{min-height:700px}footer>span:nth-child(2){display:none}.camera-preview{right:3%;width:240px;height:180px}.flow-panel{max-width:400px}}@media(max-width:760px){.header{height:80px}.header nav{gap:15px}.brand{font-size:25px}.nav-link{font-size:10px}.nav-divider{display:none}.hero{padding-top:43px;max-width:100%}.hero h1{font-size:76px;letter-spacing:-4.5px;margin-top:24px}.hero-copy{font-size:13px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.stage-shell{top:270px;right:-25%;width:118%;height:450px;opacity:.65;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 80%,transparent)}.stage-label{top:495px;left:auto;right:8%;font-size:7px}.stage-caption{top:650px;left:30%;font-size:7px}.track-card{position:relative;top:auto;right:auto;left:0;width:100%;margin-top:195px;z-index:2}.movement-strip{grid-template-columns:1fr;margin-top:32px;padding:24px 0;gap:23px}.movement+.movement{border:0;padding:0}.movement{gap:19px}.movement-number{display:block}.movement h3{font-size:12px}.movement p{font-size:10px}.gesture{width:30px}.welcome main{min-height:0}footer{gap:15px;padding:22px 0}footer>div{font-size:8px}.footer-version{font-size:6px}.flow-panel{padding:45px 0;max-width:100%}.flow-panel h2{font-size:43px}.flow-panel .eyebrow{font-size:8px}.app:not(.welcome):not(.in-game) .stage-shell{opacity:.3;top:140px}.calibration{padding-bottom:260px}.camera-preview{top:auto;bottom:35px;right:5%;width:90%;height:220px}.song-select{padding-bottom:160px}.in-game main{height:calc(100vh - 80px);min-height:580px}.in-game .stage-shell{opacity:1;top:0;width:100%;height:100%}.game-top{padding-top:27px}.game-top strong{font-size:11px}.game-top .micro{font-size:7px;letter-spacing:1px}.combo>span:first-child{font-size:40px}.game-actions{gap:6px}.game-legend{left:2%;right:2%;bottom:125px;letter-spacing:1px;font-size:6px}.game-legend b{font-size:12px}.song-progress>div>span:nth-child(2){font-size:6px;letter-spacing:1px}.song-progress{bottom:25px}.modal{padding:29px 23px}.modal h2{font-size:32px}.overlay-backdrop{padding:18px}.in-game .camera-preview{width:128px;height:96px;bottom:100px;right:3%}.diagnostics{right:8px;bottom:8px;width:310px;font-size:9px;padding:12px}.notice{width:90vw;font-size:10px}.flow-panel.results{padding-bottom:100px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.camera-preview,.in-game .camera-preview{height:auto}.camera-feed{position:relative;width:100%}.camera-feed video{display:block;width:100%;height:100%}.optional-timing{margin:18px 0;font-size:13px;color:#a1afc7}.optional-timing summary{cursor:pointer;padding:10px 0}.optional-timing p{line-height:1.6}.warmup-coach{position:absolute;top:140px;right:4%;z-index:5;width:300px;text-align:left;pointer-events:none;padding:18px 22px;border:1px solid #bd9be32b;border-radius:12px;background:#070d1ced}.warmup-coach h2{font-size:25px;margin:0 0 8px;letter-spacing:-.7px}.warmup-coach p{font-size:14px;line-height:1.5;color:#c1cde0;margin:8px 0}.warmup-counts{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:12px 22px;font-size:15px}.warmup-coach .warmup-next{font-size:19px;color:#f4eefb;font-weight:600}.warmup-coach small{font-size:11px;color:#ac9cbb}.in-game .camera-preview{width:155px;right:3%;bottom:32px;top:auto;z-index:6}.in-game .camera-caption{font-size:8px;line-height:1.4;padding:6px}@media(max-width:1050px){.in-game .camera-preview{bottom:265px;width:130px}}@media(max-width:1050px){.warmup-coach{top:115px;width:235px;right:3%;padding:14px}.warmup-coach h2{font-size:20px}.warmup-coach .warmup-next{font-size:16px}}.header{height:88px;border-bottom-color:#4c82c325}.brand{text-transform:uppercase;font-size:24px;letter-spacing:-1px;font-style:italic}.brand-dot{color:var(--red)}.brand svg{filter:drop-shadow(0 0 7px #328cff80)}.header-tag{color:#91a2bb;letter-spacing:2.3px}.welcome main{min-height:750px}.stage-shell{top:0;right:-7%;width:78%;height:620px;opacity:1}.hero{padding-top:56px;max-width:540px}.hero h1{font-size:clamp(68px,6.3vw,96px);line-height:.94;letter-spacing:-4px;font-weight:900;margin:29px 0 24px}.hero h1 em{color:#48a4ff;letter-spacing:-4px;text-shadow:0 0 34px #1678ff55}.hero-red{color:#ff3659;text-shadow:0 0 34px #f51d4340}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.hero-copy{font-size:15px;line-height:1.8}.primary{border:1px solid #61a8ff;border-radius:2px;background:#1268de;color:#fff;box-shadow:0 0 24px #1678ff25,inset 0 0 15px #3d98ff20;text-transform:uppercase;letter-spacing:1.8px}.primary:hover{background:#237ef2;box-shadow:0 0 32px #1678ff50}.primary.large{width:270px;height:56px}.preview-link{font-size:12px}.play-circle{border-color:#328cff70;color:#8ec6ff}.requirements{font-size:11px}.stage-label{left:auto;right:5%;top:36px}.stage-label-small{margin-left:12px}.status-dot{background:#48a4ff;box-shadow:0 0 9px #1678ff}.stage-caption{left:auto;right:9%;top:465px;color:#a8bfdf}.color-key{border-radius:2px;transform:none}.track-card{top:530px;right:4%;width:375px;border:1px solid #328cff40;border-left:2px solid #328cff;border-radius:3px;box-shadow:0 10px 40px #0006}.track-card img{border-radius:1px}.track-card strong{font-size:18px;font-weight:700;letter-spacing:.2px}.track-card .micro{font-size:8px}.movement-strip{margin-top:55px;padding:28px 0;grid-template-columns:1fr 1fr 1fr}.movement h3{font-weight:700;font-size:13px}.movement p{font-size:11px}.gesture{display:flex;align-items:center;color:#48a4ff}.pose-gesture{color:#ff3659}.lean-gesture{color:#d7eaff}.movement-number{color:#6e8db8}.flow-panel h2,.modal h2{font-weight:800;letter-spacing:-1.8px}.flow-panel h2 em{color:#48a4ff;letter-spacing:-1.8px}.modal,.warmup-coach{background:#090f1ff5;border-color:#328cff40;border-radius:4px}.secondary,.difficulty button,.camera-preview,.notice,.diagnostics{border-color:#328cff40;border-radius:3px}.difficulty button.selected{background:#1678ff18;border-color:#48a4ff;box-shadow:inset 3px 0 #328cff}.difficulty .selected strong{color:#75bcff}.game-top{padding-top:30px}.in-game main{height:calc(100vh - 88px)}.combo>span:first-child{color:#fff;font-weight:800;text-shadow:0 0 22px #1678ff50}.combo small{color:#48a4ff}.game-actions button{border-color:#328cff55}.game-top strong{font-weight:700}.game-legend{color:#a1b7d6}footer{color:#91a2bb}@media(min-width:1600px){.welcome main{min-height:810px}.hero{padding-top:74px}.hero h1{font-size:112px}.stage-shell{height:700px}.track-card{top:580px}.stage-caption{top:510px}.movement-strip{margin-top:65px}}@media(max-width:1050px)and (min-width:761px){.hero{max-width:440px}.hero h1{font-size:78px}.stage-shell{width:85%;right:-20%}.stage-label{right:4%;font-size:8px}.stage-caption{right:6%;top:465px}.track-card{width:320px;right:3%}.movement-strip{gap:18px}}@media(max-width:760px){.header{height:76px}.brand{font-size:21px}.hero{padding-top:36px}.hero h1{font-size:clamp(58px,12vw,88px);letter-spacing:-3px}.hero h1 em{letter-spacing:-3px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero-copy{font-size:13px}.stage-shell{top:370px;right:-10%;width:120%;height:360px;opacity:.9}.stage-label{top:525px;right:4%}.stage-caption{top:690px;right:8%;left:auto}.track-card{position:relative;top:auto;right:auto;width:100%;margin-top:240px}.movement-strip{grid-template-columns:1fr;margin-top:30px}.welcome main{min-height:0}.in-game main{height:calc(100vh - 76px)}.in-game .stage-shell{top:0;right:0;width:100%;height:100%;opacity:1}}.welcome{display:flex;flex-direction:column;min-height:100svh}.welcome .header{height:clamp(56px,9svh,88px);flex-shrink:0}.welcome main{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.welcome-overview{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;padding:clamp(16px,5svh,56px) 0 clamp(12px,3svh,36px);gap:16px}.welcome .hero{padding-top:0}.welcome .hero h1{font-size:clamp(42px,min(7vw,10svh),112px);margin:clamp(12px,3svh,29px) 0 clamp(10px,2.5svh,24px)}.welcome .hero-copy{margin-bottom:clamp(12px,3svh,28px)}.welcome .preview-link{min-height:44px;padding-block:clamp(8px,2svh,19px)}.welcome .stage-shell{height:min(100%,680px)}.welcome .stage-label{top:16px;right:0}.welcome-stage-details{display:grid;justify-items:end;gap:clamp(10px,3svh,38px)}.welcome .stage-caption,.welcome .track-card{position:relative;inset:auto}.welcome .track-card{max-width:100%;margin-top:0}.welcome .movement-strip{margin-top:0;padding-block:clamp(8px,2.5svh,28px)}.welcome footer{flex-shrink:0;padding-block:clamp(8px,2svh,24px)}@media(max-width:760px){.welcome .header{height:clamp(54px,8svh,70px)}.welcome-overview{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(6px,1.2svh,12px);padding:clamp(12px,3svh,26px) 0 clamp(8px,1.5svh,16px)}.welcome .hero,.welcome .track-card{grid-column:1 / -1}.welcome .hero h1{font-size:clamp(30px,10.9vw,76px);letter-spacing:-.06em}.welcome .hero h1 em{letter-spacing:inherit}.welcome .hero-title-break,.welcome .desktop-break{display:none}.welcome .hero-copy{line-height:1.5}.welcome .primary.large{width:min(270px,100%);height:44px;min-height:44px}.welcome .preview-link{padding-block:8px}.welcome .requirements{margin-top:0}.welcome .stage-shell{top:0;right:-18%;height:min(65svh,440px);opacity:.58;mask-image:linear-gradient(to right,transparent,#000 42%,#000 80%,transparent)}.welcome .stage-label{position:relative;inset:auto;justify-self:start}.welcome-stage-details{display:contents}.welcome .stage-caption{justify-self:end}.welcome .color-key{width:16px;height:16px;font-size:8px}.welcome .track-card{padding:7px 10px}.welcome .track-card img{width:36px;height:36px}.welcome .track-card>div{gap:2px}.welcome .movement-strip{gap:7px}.welcome .movement h3{margin-bottom:2px}.welcome .movement .gesture{flex:0 0 26px}.welcome .movement .gesture svg{width:23px;height:23px}}@media(max-width:760px)and (max-height:740px){.welcome-overview{padding-block:10px 8px;gap:6px}.welcome .hero h1{margin:10px 0}.welcome .hero-copy{margin-bottom:10px}.welcome .hero-actions{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:10px}.welcome .hero-actions .primary{width:100%;padding-inline:10px}.welcome .preview-link{display:grid;grid-template-columns:21px minmax(0,1fr);grid-template-rows:auto auto;padding-block:3px;gap:2px 7px;text-align:left}.welcome .play-circle{grid-row:span 2}.welcome .small-muted{margin-left:0}.welcome .requirements{margin-top:6px}.welcome .movement-strip{padding-block:8px}.welcome .movement{gap:8px;line-height:1.3}.welcome .movement h3,.welcome .movement p{display:inline;line-height:inherit}.welcome .movement h3:after{content:" "}.welcome footer{padding-block:8px}}@media(min-width:761px)and (max-height:650px){.welcome-overview{padding-block:16px 12px}.welcome .hero h1{font-size:clamp(42px,min(7vw,9svh),112px);margin-block:12px}.welcome .hero-copy{margin-bottom:12px}.welcome .movement-strip,.welcome footer{padding-block:10px}}
