body{overflow-x:hidden}.skyfield{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.lm{opacity:.14;will-change:transform;animation:linear infinite drift;position:absolute}.lm svg{width:100%;height:100%;display:block}@keyframes drift{0%{transform:translate(-180px)translateY(0)rotate(-2deg)}50%{transform:translate(50vw)translateY(-14px)rotate(2deg)}to{transform:translate(115vw)translateY(0)rotate(-2deg)}}.kick .num{background:var(--green-l);color:var(--green-d);border-radius:8px;padding:3px 9px;font-size:12px}.stage{border:1px solid var(--line);background:linear-gradient(#fff,#f7fbf6);border-radius:26px;justify-content:center;align-items:center;min-height:clamp(420px,60vh,560px);margin-top:clamp(20px,3vw,30px);padding:clamp(22px,4vw,40px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #181d1a14}.view{text-align:center;flex-direction:column;align-items:center;width:100%;display:none}.view.on{animation:.4s fadein;display:flex}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.howto{flex-direction:column;gap:12px;max-width:520px;margin:0 auto;display:flex}.step{text-align:left;border:1px solid var(--line);background:#fcfdfc;border-radius:14px;align-items:flex-start;gap:13px;padding:13px 15px;display:flex}.step .n{background:var(--green-l);width:28px;height:28px;color:var(--green-d);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.step p{margin:0;font-size:14.5px;line-height:1.45}.step b{font-weight:800}.pacewrap{flex-direction:column;align-items:center;gap:9px;margin-top:22px;display:flex}.clabel{letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:800}.seg{background:#f1f5f2;border-radius:12px;padding:4px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:9px 17px;font-family:inherit;font-size:13.5px;font-weight:700;transition:all .16s}.seg button.on{color:var(--ink);background:#fff;box-shadow:0 2px 8px #181d1a17}.go{cursor:pointer;background:linear-gradient(135deg,var(--green2),var(--green-d));color:#fff;border:none;border-radius:100px;margin-top:24px;padding:17px 46px;font-family:inherit;font-size:17px;font-weight:800;transition:transform .16s;box-shadow:0 12px 26px #3fa82c4d}.go:hover{transform:translateY(-2px)}.pre-num{color:var(--green-d);font-size:clamp(90px,26vw,180px);font-weight:800;line-height:1}.pre-lbl{color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:6px;font-size:16px;font-weight:800}.play-top{width:100%;max-width:520px}.progressrow{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex}.pbar{background:#eef2f0;border-radius:100px;height:8px;margin-top:8px;overflow:hidden}.pfill{background:linear-gradient(90deg,var(--green2),var(--green-d));border-radius:100px;width:0;height:100%;transition:width .5s}.ringwrap{width:clamp(200px,44vw,268px);height:clamp(200px,44vw,268px);margin:clamp(14px,3vw,24px) auto 0;position:relative}.ringwrap svg{transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#eef2f0;stroke-width:10px}.ring-fg{fill:none;stroke:var(--green);stroke-width:10px;stroke-linecap:round;transition:stroke .3s}.letterwrap{justify-content:center;align-items:center;animation:3.4s ease-in-out infinite sway;display:flex;position:absolute;inset:0}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.letter{color:var(--ink);background:linear-gradient(160deg,var(--green-d),var(--green2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(96px,22vw,150px);font-weight:800;line-height:1}.secs{color:var(--muted);font-size:15px;font-weight:800;position:absolute;bottom:clamp(20px,5vw,30px);left:50%;transform:translate(-50%)}.hints{flex-wrap:wrap;justify-content:center;gap:8px;max-width:520px;min-height:26px;margin-top:16px;display:flex}.hint{background:var(--green-l);color:var(--green-d);border-radius:100px;padding:6px 13px;font-size:13.5px;font-weight:700;animation:.3s pop}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.hintlead{color:var(--muted);align-self:center;font-size:13px;font-weight:700}.beat{color:var(--green-d);align-items:center;gap:9px;margin-top:18px;font-size:14px;font-weight:800;display:inline-flex}.beat .d{background:var(--green);border-radius:50%;width:11px;height:11px;animation:.6s ease-in-out infinite step}.beat .d:nth-child(2){animation-delay:.3s}@keyframes step{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-7px)}}.playbtns{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.pbtn{border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:100px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:800;transition:all .16s}.pbtn:hover{border-color:var(--green);color:var(--green-d);transform:translateY(-2px)}.pbtn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.pbtn.primary:hover{background:var(--green);border-color:var(--green);color:#fff}.toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;border-radius:100px;padding:9px 18px;font-size:14px;font-weight:800;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0000002e}.done-em{font-size:clamp(50px,12vw,78px);line-height:1}.done-h{letter-spacing:-.01em;margin:12px 0 0;font-size:clamp(24px,4vw,34px);font-weight:800}.done-p{color:var(--muted);max-width:460px;margin:12px 0 0;font-size:15.5px;line-height:1.55}.done-p b{color:var(--ink)}.stars{z-index:60;pointer-events:none;display:none;position:fixed;inset:0;overflow:hidden}.star{will-change:transform,opacity;position:absolute}.praise{z-index:61;color:var(--green-d);text-align:center;opacity:0;pointer-events:none;text-shadow:0 6px 24px #3fa82c40;font-size:clamp(28px,6vw,54px);font-weight:800;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)scale(.6)}@media (prefers-reduced-motion:reduce){.lm,.letterwrap,.beat .d{animation:none}}
