.lyf-controls{flex-wrap:wrap;gap:.8rem;margin:0 0 1rem;display:flex}.lyf-ctl{color:var(--ff-slate-text);align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:inline-flex}.lyf-select{font:inherit;border:2px solid var(--ff-outline);background:var(--ff-paper,#fff);min-height:44px;color:var(--ff-anvil);border-radius:.6rem;padding:.35rem .6rem;font-size:1rem}.lyf-select:focus-visible{outline:3px solid var(--ff-focus,var(--ff-forge));outline-offset:1px}.lyf-stage{padding:1rem}.lyf-lines{gap:.55rem;display:grid}.lyf-line{grid-template-columns:1fr auto auto auto auto;align-items:center;gap:.5rem;display:grid}@media (width<=30rem){.lyf-line{grid-template-columns:auto auto auto 1fr}.lyf-line .lyf-input{grid-area:1/1/auto/-1}.lyf-line>:not(.lyf-input){grid-row:2}.lyf-line .lyf-sing{justify-self:end}}.lyf-section{text-transform:uppercase;letter-spacing:.03em;color:var(--ff-slate-text);min-width:4.5rem;font-size:.875rem;font-weight:800}.lyf-input{box-sizing:border-box;width:100%;font:inherit;border:2px solid var(--ff-outline);background:var(--ff-paper,#fff);color:var(--ff-anvil);border-radius:.6rem;padding:.5rem .7rem;font-size:1.05rem;line-height:1.5}.lyf-input:focus-visible{outline:3px solid var(--ff-focus,var(--ff-forge));outline-offset:1px}.lyf-syll{font-variant-numeric:tabular-nums;color:var(--ff-slate-text);text-align:right;min-width:3.2rem;font-size:.875rem;font-weight:700}.lyf-meter{text-align:center;border-radius:999px;min-width:4.5rem;padding:.05rem .5rem;font-size:.875rem;font-weight:700}.lyf-meter--inTolerance{background:var(--pc-correct-bg);border:2px solid var(--pc-correct);color:var(--pc-correct)}.lyf-meter--close{background:var(--ff-warm);border:2px solid var(--ff-outline);color:var(--ff-slate-text)}.lyf-meter--offMeter{background:var(--pc-incorrect-bg);border:2px solid var(--pc-incorrect);color:var(--pc-incorrect)}.lyf-letter{font-variant-numeric:tabular-nums;color:#fff;background:var(--ff-forge);background:oklch(from var(--ff-forge) min(l, .53) c h);border:2px solid var(--ff-outline);border-radius:.5rem;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:1.05rem;font-weight:900;display:inline-flex}.lyf-letter.lyf-letter--spelling{outline-offset:-4px;outline:2px dashed}.lyf-readout{border:3px solid var(--ff-outline);border-left-width:8px;border-left-color:var(--ff-forge);background:var(--ff-warm);border-radius:.8rem;gap:.5rem;margin-top:1rem;padding:.8rem 1rem;display:grid;box-shadow:4px 4px #0000001f}.lyf-readout-k{text-transform:uppercase;letter-spacing:.04em;color:var(--ff-slate-text);margin-right:.5rem;font-size:.875rem;font-weight:800;display:inline-block}.lyf-scheme-val{font-variant-numeric:tabular-nums;letter-spacing:.18em;color:var(--ff-forge-text,var(--ff-forge));font-size:1.15rem}.lyf-readout strong{font-variant-numeric:tabular-nums;color:var(--ff-anvil)}.lyf-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.lyf-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--ff-forge-text,var(--ff-forge));background:var(--ff-warm);border:2px solid var(--ff-outline);border-radius:999px;margin-bottom:.5rem;padding:.05rem .6rem;font-size:.72rem;font-weight:800;display:inline-block}.lyf-setup{color:var(--ff-slate-text);margin:0 0 .6rem;font-style:italic}.lyf-opts{gap:.5rem;display:grid}.lyf-opt{text-align:left}.lyf-opt--correct{background:var(--pc-correct-bg);border-color:var(--pc-correct)}.lyf-opt--wrong{background:var(--pc-incorrect-bg);border-color:var(--pc-incorrect)}.lyf-teach{border:2px solid var(--ff-spark);background:var(--ff-warm);color:var(--ff-slate-text);border-left-width:6px;border-radius:.6rem;margin-top:.7rem;padding:.55rem .8rem;font-size:.92rem}@media (width<=560px){.lyf-line{grid-template-columns:1fr auto auto;grid-template-areas:"sec sec sec""inp inp inp""syll meter letter"}.lyf-section{grid-area:sec}.lyf-input{grid-area:inp}.lyf-syll{text-align:left;grid-area:syll}.lyf-meter{grid-area:meter}.lyf-letter{grid-area:letter;justify-self:end}}.lyf-stress-stage{text-align:center;padding:.8rem .5rem}.lyf-stress-row{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.5rem;display:inline-flex}.lyf-stress-chip{border:2px solid var(--ff-outline);background:var(--ff-warm);cursor:pointer;border-radius:.5rem;flex-direction:column;align-items:center;gap:.15rem;min-width:3.4rem;min-height:3.4rem;padding:.5rem .7rem;display:flex}.lyf-stress-chip--on{background:var(--ff-forge);border-color:var(--ff-forge);transform:translateY(-4px)}.lyf-stress-syl{color:var(--ff-anvil);font-size:1.1rem;font-weight:700}.lyf-stress-chip--on .lyf-stress-syl{color:#fff}.lyf-stress-mark{letter-spacing:.03em;color:var(--ff-forge-text);font-size:.75rem;font-weight:800}.lyf-stress-chip--on .lyf-stress-mark{color:#fff}.lyf-scan-stage{padding:.8rem .6rem}.lyf-scan-line{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.9rem;display:flex}.lyf-scan-word{border-bottom:2px dotted var(--ff-outline);align-items:flex-end;gap:.35rem;padding-bottom:.1rem;display:inline-flex}.pc-theme-lyricforge.pc-immersive{--pc-env-bg:url(/play/lyricforge/env.webp) center / cover no-repeat, linear-gradient(to bottom, #f6d8c9 0%, #f2ccc0 20%, #eeddcb 52%, #f2e7d4 78%, #f5efdc 100%);--pc-env-bg-dark:url(/play/lyricforge/env-dark.webp) center / cover no-repeat, linear-gradient(to bottom, #2a1712 0%, #331c17 38%, #2c2119 70%, #26221a 100%);--pc-env-bg-flat:url(/play/lyricforge/env.webp) center / cover no-repeat, oklab(90.0177% .0218294 .0281743);--pc-env-bg-flat-dark:url(/play/lyricforge/env-dark.webp) center / cover no-repeat, #2a1a15}.lyf-kits{margin:.4rem 0 1rem}.lyf-kits-summary{cursor:pointer;color:var(--ff-anvil);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:800;list-style:none;display:flex}.lyf-kits-summary::-webkit-details-marker{display:none}.lyf-kits-summary:before{content:"▸";color:var(--pc-select);font-weight:800}.lyf-kits[open] .lyf-kits-summary:before{content:"▾"}.lyf-sec{gap:var(--space-8);padding:var(--space-8) var(--space-12);border:2px solid var(--ff-outline);border-radius:.7rem;display:grid}.lyf-sec+.lyf-sec{margin-top:var(--space-8)}.lyf-sec--chorus{border-left-width:6px}.lyf-sec-head{align-items:baseline;gap:var(--space-8);flex-wrap:wrap;display:flex}.lyf-sec-note,.lyf-sec-scheme{color:var(--ff-forge-text);font-size:.875rem}.lyf-sec--repeat{opacity:.62;border-style:dashed}.lyf-echo-line{margin:0;font-style:italic}.lyf-count{align-items:center;gap:var(--space-4);display:inline-flex}.lyf-adj{border:2px solid var(--ff-outline);background:var(--ff-paper);min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;border-radius:.5rem;font-weight:800}.lyf-sing{border:2px solid var(--ff-outline);background:var(--ff-paper);min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;border-radius:50%}.lyf-sung{margin:0;font-size:1.05rem}.lyf-sung-w--on{background:var(--ff-spark);color:#1f1d22;border-radius:.3rem}.lyf-staff{margin:var(--space-4) 0 0;padding-block:var(--space-8) var(--space-4)}.lyf-rule{height:3.2rem;width:min(calc(var(--lyf-slots,8) * 1.9rem), 100%);position:relative}.lyf-rule:before{content:"";height:.2rem;width:calc(var(--lyf-target,8) / var(--lyf-slots,8) * 100%);background:var(--ff-outline);border-radius:999px;position:absolute;bottom:.55rem;left:0}.lyf-rule:after{content:"";width:.2rem;height:1.1rem;bottom:.2rem;left:calc(var(--lyf-target,8) / var(--lyf-slots,8) * 100% - .1rem);background:var(--ff-outline);border-radius:999px;position:absolute}.lyf-beads{position:absolute;inset:0}.lyf-bead{bottom:.65rem;left:calc((var(--at) + .5) / var(--lyf-slots,8) * 100%);border:.15rem solid var(--ff-forge);background:var(--ff-paper,#fff);box-sizing:border-box;border-radius:50%;width:.7rem;height:.7rem;position:absolute;translate:-50%}.lyf-bead--strong{background:var(--ff-forge);width:1.2rem;height:1.2rem}.lyf-bead--light{background:color-mix(in oklab, var(--ff-forge) 55%, var(--ff-paper,#fff));width:.95rem;height:.95rem}.lyf-bead--plain{border-style:dashed;border-color:var(--ff-slate-text)}.lyf-bead--over{opacity:.55}.lyf-bead--trip{outline:.15rem dashed var(--pc-incorrect);outline-offset:.15rem}.lyf-bead--now{box-shadow:0 0 0 .25rem var(--ff-spark)}.lyf-step{bottom:2rem;left:calc((var(--at,0) + .5) / var(--lyf-slots,8) * 100%);width:1.35rem;height:1.8rem;color:var(--ff-anvil);transition:left .12s ease-out,bottom .12s ease-out,rotate .12s;position:absolute;translate:-50%}.lyf-step svg{width:100%;height:100%;display:block}.lyf-step--up{bottom:2.5rem}.lyf-step--trip{bottom:2rem;translate:-20%;rotate:25deg}.lyf-staff-hint{margin:0 0 var(--space-8);color:var(--ff-slate-text);contain:inline-size;font-size:.875rem}.lyf-staff-hint:empty{display:none}@media (prefers-reduced-motion:reduce){.lyf-step{transition:none}}
