.ff-spot,.ff-listen,.ff-catch{--ff-game-bleed:1.05rem;--ff-game-rail:color-mix(in srgb, var(--ff-line) 80%, #3a1848);--ff-game-line:color-mix(in srgb, var(--foreground) 11%, transparent);--ff-game-tile:color-mix(in srgb, var(--ff-panel) 72%, transparent);--ff-game-tile-lift:color-mix(in srgb, var(--ff-panel) 96%, var(--foreground));--ff-game-radius:.8rem;--ff-game-radius-lg:1rem;--ff-game-seam:color-mix(in srgb, var(--ff-accent) 26%, transparent);margin-block-start:.9rem;margin-inline:calc(-1 * var(--ff-game-bleed));padding:1.15rem var(--ff-game-bleed) 1.6rem;border-top:1px solid var(--ff-game-seam);background:linear-gradient(180deg, color-mix(in srgb, var(--ff-panel) 84%, transparent) 0%, color-mix(in srgb, var(--ff-panel) 36%, transparent) 44%, transparent 88%);border-radius:1.05rem 1.05rem 0 0;position:relative}.ff-spot:before,.ff-listen:before,.ff-catch:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 100% at 50% 0,#d6f15c12,#0000 70%);height:8rem;position:absolute;inset:0 0 auto}@media (min-width:900px){.ff-spot,.ff-listen,.ff-catch{--ff-game-bleed:1.15rem;margin-block-start:1.15rem;padding-top:1.4rem}}.ff-spot>.ff-kicker,.ff-listen>.ff-kicker,.ff-catch .ff-kicker{letter-spacing:.2em;text-shadow:0 0 14px #d6f15c40;margin-bottom:0;font-size:.7rem;font-weight:600}.ff-spot>h2,.ff-listen>h2{letter-spacing:-.03em;text-wrap:balance;max-width:30rem;font-size:clamp(1.3rem,4.2vw,1.7rem);line-height:1.22}.ff-spot-reassurance,.ff-listen-reassurance{max-width:32rem}.ff-spot-count,.ff-listen-count,.ff-catch-count{color:var(--ff-accent);letter-spacing:.16em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:600}.ff-spot-az,.ff-listen-az{color:color-mix(in srgb, var(--ff-muted) 78%, transparent);letter-spacing:.18em}.ff-spot-progress-bar,.ff-listen-progress-bar,.ff-catch-node{background:var(--ff-game-rail);border-radius:999px;height:.34rem}.ff-spot-progress-fill,.ff-listen-progress-fill{background:color-mix(in srgb, var(--foreground) 46%, transparent)}.ff-spot-progress-times,.ff-listen-progress-times{letter-spacing:.08em;font-size:.7rem}.ff-catch-route{gap:.3rem;margin:.7rem 0 1.35rem}.ff-catch-node.is-now{background:color-mix(in srgb, var(--ff-accent) 50%, var(--ff-game-rail));box-shadow:0 0 12px #d6f15c4d}.ff-catch-node.is-lit{background:var(--ff-accent);box-shadow:0 0 14px #d6f15c57}.ff-spot-speed-choice,.ff-listen-speed-choice{border-color:var(--ff-game-line);transition:color .18s,border-color .18s,background-color .18s}.ff-spot-speed-choice.is-on,.ff-listen-speed-choice.is-on{color:var(--ff-accent);border-color:color-mix(in srgb, var(--ff-accent) 55%, transparent);background:color-mix(in srgb, var(--ff-accent) 9%, transparent)}.ff-spot-speed-label,.ff-listen-speed-label,.ff-catch-label{letter-spacing:.16em}@media (min-width:720px){.ff-spot:not(.ff-spot-is-review) .ff-spot-actions .ff-primary,.ff-listen:not(.ff-listen-is-review) .ff-listen-actions .ff-primary{justify-self:start;width:auto;min-width:11rem;padding-inline:2rem}}.ff-spot-actions .ff-primary,.ff-listen-actions .ff-primary,.ff-catch-tool{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}.ff-spot-actions .ff-primary,.ff-listen-actions .ff-primary{box-shadow:0 0 24px #d6f15c24}.ff-catch-listen .ff-catch-tools>.ff-catch-tool:first-child,.ff-catch-listen .ff-catch-tools>.ff-catch-tool:first-child[aria-pressed=true]{border-color:var(--ff-accent);background:var(--ff-accent);min-width:9.5rem;color:var(--ff-accent-ink);font-weight:650;box-shadow:0 0 24px #d6f15c29}.ff-catch-listen .ff-catch-tools>.ff-catch-tool:first-child[aria-pressed=true]{background:color-mix(in srgb, var(--ff-accent) 82%, var(--ff-panel))}.ff-catch-tool{border-color:var(--ff-game-line)}.ff-catch-tool.is-on,.ff-catch-tool[aria-pressed=true]{border-color:color-mix(in srgb, var(--ff-accent) 55%, transparent);background:color-mix(in srgb, var(--ff-accent) 9%, transparent)}.ff-spot-bank,.ff-listen-bank{gap:.42rem .38rem}.ff-spot-word,.ff-listen-phrase{border-color:color-mix(in srgb, var(--foreground) 7%, transparent);border-radius:var(--ff-game-radius);background:var(--ff-game-tile);transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s;box-shadow:inset 0 1px #ffffff09}@media (hover:hover) and (pointer:fine){.ff-spot-word:not(:disabled):hover,.ff-listen-phrase:not(:disabled):hover{border-color:color-mix(in srgb, var(--foreground) 26%, transparent);background:var(--ff-game-tile-lift)}}.ff-spot-word.is-caught,.ff-spot-word.is-caught:disabled,.ff-listen-phrase.is-caught,.ff-listen-phrase.is-caught:disabled{border-color:color-mix(in srgb, var(--ff-accent) 62%, transparent);background:color-mix(in srgb, var(--ff-accent) 14%, var(--ff-panel));box-shadow:0 0 18px #d6f15c29}@media (max-width:380px){.ff-spot-word,.ff-listen-phrase{letter-spacing:.04em;padding-inline:.25rem;font-size:.65rem}}.ff-catch-options{gap:.5rem}.ff-catch-option{border-color:color-mix(in srgb, var(--foreground) 9%, transparent);border-radius:var(--ff-game-radius-lg);background:var(--ff-game-tile);min-height:3.1rem;padding:.75rem 1rem .75rem 1.3rem;font-size:1.02rem;transition:background-color .16s,border-color .16s;position:relative;box-shadow:inset 0 1px #ffffff09}.ff-catch-option:before{content:"";background:0 0;border-radius:999px;width:2px;transition:background-color .16s;position:absolute;inset:.7rem auto .7rem .5rem}@media (hover:hover) and (pointer:fine){.ff-catch-option:not(.is-miss):hover{border-color:color-mix(in srgb, var(--foreground) 26%, transparent);background:var(--ff-game-tile-lift)}.ff-catch-option:not(.is-miss):hover:before{background:color-mix(in srgb, var(--ff-accent) 70%, transparent)}}.ff-catch-option:focus-visible:before{background:var(--ff-accent)}.ff-catch-option.is-miss{opacity:.6;border-color:color-mix(in srgb, var(--ff-error) 30%, transparent)}.ff-catch-option.is-miss:before{background:color-mix(in srgb, var(--ff-error) 70%, transparent)}.ff-catch-option small{letter-spacing:.12em}.ff-catch-listen{gap:.8rem}.ff-catch-pulse{height:2rem;margin-bottom:-.3rem}.ff-catch-pulse span{width:.38rem;box-shadow:0 0 12px #d6f15c4d}.ff-catch-prompt,.ff-catch-waiting{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(1.35rem,4.4vw,1.8rem);line-height:1.12}.ff-catch-waiting{color:var(--ff-muted)}@media (min-width:720px){.ff-catch-listen{grid-template-columns:minmax(12.5rem,.44fr) minmax(0,1fr);column-gap:1.6rem}.ff-catch-tools{gap:.4rem}}.ff-spot-review-score,.ff-listen-review-score{text-shadow:0 0 26px #d6f15c38}.ff-spot-review-item,.ff-listen-review-item{border-top-color:var(--ff-game-line)}.ff-spot-review-item:last-child,.ff-listen-review-item:last-child{border-bottom-color:var(--ff-game-line)}@media (prefers-reduced-motion:reduce){.ff-spot-word,.ff-listen-phrase,.ff-catch-option,.ff-catch-option:before,.ff-catch-tool,.ff-spot-speed-choice,.ff-listen-speed-choice{transition:none}}
.ff-maker-intro,.ff-maker-play{--ff-maker-tile:color-mix(in srgb, var(--ff-panel) 82%, #1b1524);--ff-maker-lift:color-mix(in srgb, var(--ff-panel) 70%, #2a2036);gap:1rem;padding:.15rem 0 .4rem;display:grid}.ff-maker-kicker{color:var(--ff-accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.ff-maker-title,.ff-maker-part-title{letter-spacing:-.04em;margin:.15rem 0 0;font-size:clamp(1.55rem,6vw,2.05rem);line-height:1.1}.ff-maker-lead,.ff-maker-body,.ff-maker-hint,.ff-maker-nice,.ff-maker-choose-prompt{color:var(--ff-muted);margin:0;line-height:1.45}.ff-maker-lead{color:var(--foreground);font-size:1.05rem}.ff-maker-body{max-width:36rem}.ff-maker-hint{margin-top:0;font-size:.84rem}.ff-maker-listen{appearance:none;border:1px solid color-mix(in srgb, var(--ff-line) 88%, transparent);background:color-mix(in srgb, var(--ff-maker-tile) 70%, transparent);min-height:2.4rem;color:var(--foreground);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:999px;justify-self:start;align-items:center;gap:.45rem;padding:.4rem .95rem .4rem .75rem;font-size:.72rem;font-weight:700;display:inline-flex}.ff-maker-listen-icon{color:var(--ff-accent);place-items:center;display:grid}.ff-maker-start:focus-visible,.ff-maker-choose:focus-visible,.ff-maker-change:focus-visible,.ff-maker-hear:focus-visible,.ff-maker-nudge-btn:focus-visible,.ff-maker-listen:focus-visible,.ff-maker-replay:focus-visible{outline:2px solid var(--ff-accent);outline-offset:3px}.ff-maker-choose-block{gap:.7rem;display:grid}.ff-maker-choose-heading{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.ff-maker-choose-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.ff-maker-choose{appearance:none;border:1px solid color-mix(in srgb, var(--ff-line) 80%, transparent);background:var(--ff-maker-tile);min-height:4.4rem;color:inherit;text-align:left;cursor:pointer;border-radius:.95rem;gap:.2rem;padding:.75rem .8rem;display:grid}.ff-maker-choose.is-on{border-color:color-mix(in srgb, var(--ff-accent) 55%, var(--ff-line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-accent) 28%, transparent)}.ff-maker-choose-track{color:var(--ff-accent);letter-spacing:.16em;font-size:.68rem;font-weight:700}.ff-maker-choose-name{font-size:1rem;font-weight:650}.ff-maker-choose-done{color:color-mix(in srgb, var(--ff-accent) 70%, var(--ff-muted));letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.ff-maker-start-bar,.ff-maker-after{flex-wrap:wrap;gap:.7rem;display:flex}.ff-maker-start{appearance:none;background:var(--ff-accent);min-height:2.85rem;color:var(--ff-accent-ink);letter-spacing:.04em;cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.15rem;font-weight:700}.ff-maker-replay{appearance:none;border:1px solid color-mix(in srgb, var(--ff-accent) 52%, var(--ff-line));background:color-mix(in srgb, var(--ff-maker-tile) 70%, transparent);min-height:2.85rem;color:var(--foreground);letter-spacing:.04em;cursor:pointer;border-radius:999px;padding:.7rem 1.15rem;font-weight:700}.ff-maker-play-top{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.ff-maker-change{appearance:none;color:var(--ff-muted);letter-spacing:.04em;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:.78rem;text-decoration:underline}.ff-maker-board-wrap{isolation:isolate;position:relative;overflow:hidden}.ff-maker-burst{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ff-maker-burst canvas{width:100%;height:100%;display:block}.ff-maker-board{z-index:1;gap:.7rem;display:grid;position:relative}.ff-maker-row{gap:.45rem;min-width:0;transition:gap .18s;display:grid}.ff-maker-row.is-locked{gap:.12rem}.ff-maker-block{border:1px solid color-mix(in srgb, var(--ff-line) 88%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--ff-maker-lift) 88%, transparent), var(--ff-maker-tile));touch-action:none;-webkit-user-select:none;user-select:none;border-radius:.9rem;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.15rem .4rem;min-height:3.15rem;padding:.55rem .6rem .45rem;display:grid;box-shadow:0 10px 24px #0000002e}.ff-maker-block.is-dragging{z-index:2;border-color:color-mix(in srgb, var(--ff-accent) 42%, var(--ff-line));transform:scale(1.02)}.ff-maker-block.is-settled{background:color-mix(in srgb, var(--ff-panel) 70%, #24182c)}.ff-maker-row.is-locked>:first-child .ff-maker-block{border-top-right-radius:.28rem;border-bottom-right-radius:.28rem}.ff-maker-row.is-locked>:last-child .ff-maker-block{border-top-left-radius:.28rem;border-bottom-left-radius:.28rem}.ff-maker-row.is-locked>:only-child .ff-maker-block{border-radius:.9rem}.ff-maker-grip{gap:.18rem;width:.7rem;display:grid}.ff-maker-grip span{background:color-mix(in srgb, var(--ff-muted) 55%, transparent);border-radius:999px;height:.12rem;display:block}.ff-maker-hear{appearance:none;min-width:0;color:inherit;font:inherit;text-align:left;pointer-events:none;background:0 0;border:0;grid-column:2;padding:0;font-size:.95rem;font-weight:600;line-height:1.25}.ff-maker-nudge{flex-wrap:wrap;grid-column:1/-1;gap:.3rem;display:flex}.ff-maker-nudge-btn{appearance:none;background:color-mix(in srgb, var(--foreground) 6%, transparent);min-height:1.7rem;color:var(--ff-muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;padding:0 .45rem;font-size:.68rem}.ff-maker-nudge-btn:disabled{opacity:.35}.ff-maker-success{text-align:center;justify-items:center;gap:.28rem;margin-top:1.05rem;padding:.35rem .4rem .15rem;display:grid}.ff-maker-success>.ff-maker-start,.ff-maker-success .ff-maker-after{margin-top:.75rem}.ff-maker-success .ff-maker-after{justify-content:center}.ff-maker-made{max-width:100%;color:var(--ff-accent);letter-spacing:.05em;text-transform:uppercase;text-shadow:0 0 18px var(--ff-success-glow);margin:0;font-size:clamp(1.7rem,6.4vw,2.35rem);font-weight:800;line-height:1.08}.ff-maker-congrats{max-width:100%;color:var(--ff-error);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 14px var(--ff-error-glow);margin:.12rem 0 0;font-size:clamp(1.05rem,3.8vw,1.35rem);font-weight:700;line-height:1.2}.ff-maker-play.is-fresh-solve .ff-maker-made{animation:.52s cubic-bezier(.16,1,.3,1) both ff-maker-success-in}.ff-maker-play.is-fresh-solve .ff-maker-congrats{animation:.52s cubic-bezier(.16,1,.3,1) 90ms both ff-maker-success-in}.ff-maker-play.is-solved .ff-maker-block.is-settled{border-color:color-mix(in srgb, var(--ff-accent) 34%, var(--ff-line))}.ff-maker-play.is-fresh-solve .ff-maker-row{position:relative}.ff-maker-play.is-fresh-solve .ff-maker-row:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ff-accent) 48%, white 10%), transparent);width:42%;animation:1.45s ease-out both ff-maker-sweep;position:absolute;top:0;bottom:0;left:0}.ff-maker-play.is-fresh-solve .ff-maker-block.is-settled{animation:1.8s ease-out both ff-maker-lock}.ff-maker-nice{color:var(--ff-muted);margin-top:.28rem;font-size:.92rem;font-weight:500}@keyframes ff-maker-success-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ff-maker-sweep{0%{opacity:0;transform:translate(-80%)}22%{opacity:1}to{opacity:0;transform:translate(240%)}}@keyframes ff-maker-lock{0%{box-shadow:0 10px 24px #0000002e}28%{box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-accent) 58%, transparent), 0 0 22px color-mix(in srgb, var(--ff-accent) 36%, transparent)}to{box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent), 0 8px 20px #0003}}@media (hover:hover) and (pointer:fine){.ff-maker-nudge{opacity:0;pointer-events:none}.ff-maker-block:focus-within .ff-maker-nudge{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.ff-maker-row,.ff-maker-block{transition:none}.ff-maker-block.is-dragging{transform:none}.ff-maker-play.is-fresh-solve .ff-maker-made,.ff-maker-play.is-fresh-solve .ff-maker-congrats,.ff-maker-play.is-fresh-solve .ff-maker-block.is-settled{animation:none}.ff-maker-play.is-fresh-solve .ff-maker-row:after{opacity:.4;background:color-mix(in srgb, var(--ff-accent) 16%, transparent);width:100%;animation:none;transform:none}.ff-maker-play.is-fresh-solve .ff-maker-block.is-settled{box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-accent) 28%, transparent), 0 8px 20px #0003}}@media (max-width:430px){.ff-maker-hear{font-size:.9rem}.ff-maker-choose-grid{gap:.55rem}.ff-maker-play{overflow-x:clip}.ff-maker-made{letter-spacing:.04em;font-size:clamp(1.48rem,7vw,1.85rem)}.ff-maker-congrats{letter-spacing:.1em;font-size:clamp(.92rem,4.1vw,1.12rem)}.ff-maker-success{margin-top:.85rem;padding-inline:.15rem}}
.ff-bib{--ff-bib-cyan:#6ee7ff;color:var(--foreground);gap:.85rem;max-width:100%;margin-block-start:.35rem;padding:.15rem 0 .6rem;display:grid;position:relative;overflow-x:clip}.ff-bib-kicker{color:var(--ff-accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.ff-bib-title{letter-spacing:-.045em;margin:.1rem 0 0;font-size:clamp(1.55rem,7vw,2.15rem);line-height:1.08}.ff-bib-lead,.ff-bib-body,.ff-bib-section-status{color:var(--ff-muted);margin:0;line-height:1.45}.ff-bib-lead{color:var(--foreground);font-size:1.05rem}.ff-bib-body{max-width:36rem}.ff-bib-primary,.ff-bib-ghost,.ff-bib-pause,.ff-bib-speed-btn,.ff-bib-choose,.ff-bib-choice{appearance:none;border:1px solid color-mix(in srgb, var(--ff-line) 88%, transparent);background:color-mix(in srgb, var(--ff-panel) 82%, transparent);color:var(--foreground);cursor:pointer}.ff-bib-primary,.ff-bib-ghost,.ff-bib-pause{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;min-height:2.75rem;padding:.55rem 1rem;font-size:.78rem;font-weight:700}.ff-bib-primary{border-color:color-mix(in srgb, var(--ff-accent) 55%, transparent);background:var(--ff-accent);color:var(--ff-accent-ink)}.ff-bib-ghost:hover,.ff-bib-pause:hover,.ff-bib-choose:hover:not(:disabled),.ff-bib-speed-btn:hover{border-color:color-mix(in srgb, var(--ff-accent) 42%, var(--ff-line))}.ff-bib-primary:focus-visible,.ff-bib-ghost:focus-visible,.ff-bib-pause:focus-visible,.ff-bib-speed-btn:focus-visible,.ff-bib-choose:focus-visible,.ff-bib-choice:focus-visible{outline:2px solid var(--ff-accent);outline-offset:3px}.ff-bib-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.ff-bib-choose-grid,.ff-bib-speed{gap:.65rem;display:grid}.ff-bib-choose{text-align:left;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:3.4rem;padding:.7rem .9rem;display:grid}.ff-bib-choose:disabled{opacity:.42;cursor:not-allowed}.ff-bib-choose.is-next,.ff-bib-choose.is-available{border-color:color-mix(in srgb, var(--ff-accent) 48%, transparent)}.ff-bib-choose.is-restored{border-color:color-mix(in srgb, var(--ff-accent) 28%, var(--ff-line))}.ff-bib-choose-track{color:var(--ff-accent);letter-spacing:.16em;font-size:.72rem;font-weight:700}.ff-bib-choose-name{font-size:1rem;font-weight:650}.ff-bib-choose-state{color:var(--ff-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.ff-bib-choose.is-restored .ff-bib-choose-state,.ff-bib-choose.is-next .ff-bib-choose-state{color:var(--ff-accent)}.ff-bib-speed{grid-template-columns:1fr 1fr}.ff-bib-speed-btn{text-align:left;border-radius:1rem;gap:.2rem;min-height:4.4rem;padding:.85rem .7rem;display:grid}.ff-bib-speed-btn.is-on{border-color:color-mix(in srgb, var(--ff-accent) 70%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-accent) 35%, transparent)}.ff-bib-speed-btn strong{letter-spacing:.14em;text-transform:uppercase;font-size:.86rem}.ff-bib-speed-btn span{color:var(--ff-muted);font-size:.82rem}.ff-bib.is-run{grid-template-rows:auto auto minmax(8.25rem,1fr) auto auto;gap:.45rem;min-height:0}.ff-bib-run-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.ff-bib-pause{min-height:2.75rem;padding-inline:.9rem}.ff-bib-lyric{letter-spacing:-.03em;min-height:2.6rem;margin:.15rem 0 0;font-size:clamp(1.15rem,5.4vw,1.7rem);font-weight:650;line-height:1.25}.ff-bib-lyric-idle{color:var(--ff-muted)}.ff-bib-word{color:color-mix(in srgb, var(--foreground) 55%, var(--ff-muted));transition:color .18s,opacity .18s}.ff-bib-word.is-sung{color:var(--foreground)}.ff-bib-blank{min-width:4.8ch;color:color-mix(in srgb, var(--ff-bib-cyan) 70%, var(--ff-muted));border-bottom:2px solid color-mix(in srgb, var(--ff-bib-cyan) 62%, transparent);padding:0 .12em;display:inline-block}.ff-bib-blank.is-armed{color:color-mix(in srgb, var(--ff-accent) 70%, var(--foreground));border-bottom-color:color-mix(in srgb, var(--ff-accent) 70%, transparent)}.ff-bib-blank.is-locked{color:var(--ff-accent);border-bottom-color:var(--ff-accent);text-shadow:0 0 18px var(--ff-success-glow);animation:.45s ease-out ff-bib-lock}.ff-bib-blank.is-revealed{color:var(--foreground);border-bottom-color:color-mix(in srgb, var(--ff-muted) 55%, transparent)}.ff-bib-stage{height:clamp(8.75rem,26vh,22rem);min-height:8.75rem;position:relative}.ff-bib-wave,.ff-bib-burst{position:absolute;inset:0}.ff-bib-wave canvas,.ff-bib-burst canvas{width:100%;height:100%;display:block}.ff-bib-burst{pointer-events:none;z-index:2}.ff-bib-control{align-content:center;min-height:6.5rem;display:grid}.ff-bib-missed{color:var(--ff-muted);letter-spacing:.16em;text-transform:uppercase;text-align:center;opacity:.78;margin:0;font-size:.58rem;font-weight:700}.ff-bib-answers{justify-items:center;gap:.4rem;width:100%;display:grid}.ff-bib-choose-label{color:color-mix(in srgb, var(--ff-muted) 82%, var(--foreground));letter-spacing:.22em;text-transform:uppercase;text-align:center;background:0 0;width:100%;margin:0;padding:.08rem 0;font-size:.64rem;font-weight:700;line-height:1}.ff-bib-choices{z-index:1;grid-template-columns:1fr 1fr;gap:.9rem;width:100%;display:grid;position:relative}.ff-bib-choice-mid{background:var(--ff-accent);width:2px;box-shadow:0 0 10px var(--ff-success-glow);pointer-events:none;z-index:1;position:absolute;top:18%;bottom:18%;left:50%;transform:translate(-50%)}.ff-bib-choice{border:1.5px solid var(--ff-accent);background:color-mix(in srgb, var(--ff-panel) 88%, #000 12%);min-height:3.1rem;color:var(--foreground);box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent), 0 0 18px color-mix(in srgb, var(--ff-accent) 18%, transparent);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere;border-radius:.95rem;padding:.7rem .45rem;font-size:clamp(.72rem,3.3vw,.95rem);font-weight:800;line-height:1.15}.ff-bib-choice:hover:not(:disabled),.ff-bib-choice:focus-visible{border-color:var(--ff-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-accent) 55%, transparent), 0 0 22px color-mix(in srgb, var(--ff-accent) 32%, transparent)}.ff-bib-choice.is-yes{border-color:var(--ff-accent);color:var(--ff-accent-ink);background:var(--ff-accent);box-shadow:0 0 18px var(--ff-success-glow)}.ff-bib-choice.is-no{border-color:var(--ff-error);color:var(--foreground);background:var(--ff-error);box-shadow:0 0 18px var(--ff-error-glow)}.ff-bib-choice-idle{grid-column:1/-1;min-height:1.2rem;margin:0}.ff-bib-progress,.ff-bib-markers{flex-wrap:wrap;justify-content:center;gap:.28rem;margin:0;padding:0;list-style:none;display:flex}.ff-bib-dot,.ff-bib-marker{background:color-mix(in srgb, var(--ff-muted) 45%, transparent);border-radius:999px;width:.42rem;height:.42rem;display:block}.ff-bib-dot.is-pending{background:color-mix(in srgb, var(--ff-muted) 45%, transparent)}.ff-bib-dot.is-now{outline:1px solid color-mix(in srgb, var(--ff-accent) 70%, transparent)}.ff-bib-dot.is-correct,.ff-bib-dot.is-yes,.ff-bib-marker.is-lit{background:var(--ff-accent);box-shadow:0 0 8px var(--ff-success-glow)}.ff-bib-dot.is-wrong,.ff-bib-dot.is-no{background:var(--ff-error);box-shadow:0 0 8px var(--ff-error-glow)}.ff-bib-dot.is-missed{background:color-mix(in srgb, var(--ff-muted) 78%, #6b6570);box-shadow:none}.ff-bib-marker{letter-spacing:.08em;place-items:center;width:auto;min-width:1.7rem;height:1.7rem;font-size:.62rem;font-weight:700;display:grid}.ff-bib-marker.is-lit{color:var(--ff-accent-ink)}.ff-bib-paused{justify-items:stretch;gap:.65rem;padding:.1rem 0 .2rem;display:grid}.ff-bib-paused .ff-bib-actions{grid-template-columns:1fr;gap:.55rem;display:grid}.ff-bib-paused p{color:var(--ff-muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.ff-bib.is-paused .ff-bib-stage{opacity:.78}.ff-bib-fail{color:var(--ff-error);margin:0}.ff-bib.is-finale .ff-bib-title{color:var(--ff-accent)}.ff-bib-subhead{font-size:clamp(1.2rem,5vw,1.65rem)}.ff-bib-score{gap:.2rem;display:grid}.ff-bib-score-num{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,8vw,2.6rem);font-weight:750;line-height:1}.ff-bib-score-kicker{color:var(--ff-accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.ff-bib-score-break{color:var(--ff-muted);margin:0;font-size:.92rem}.ff-bib-review{gap:.55rem;display:grid}.ff-bib-review-title{color:var(--ff-muted);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.ff-bib-review-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.ff-bib-review-row{grid-template-columns:1.2rem 1fr;align-items:start;gap:.45rem;display:grid}.ff-bib-review-mark{font-weight:800;line-height:1.4}.ff-bib-review-line{margin:0;font-size:.95rem;line-height:1.35}.ff-bib-review-line strong{letter-spacing:.02em}.ff-bib-review-note{color:var(--ff-muted);margin:.12rem 0 0;font-size:.78rem}.ff-bib-review-row.is-correct .ff-bib-review-mark,.ff-bib-review-row.is-correct strong{color:var(--ff-accent)}.ff-bib-review-row.is-wrong .ff-bib-review-mark{color:var(--ff-error)}.ff-bib-review-row.is-wrong strong{color:var(--foreground)}.ff-bib-review-row.is-missed .ff-bib-review-mark,.ff-bib-review-row.is-missed strong{color:var(--ff-muted)}@keyframes ff-bib-lock{0%{text-shadow:0 0 #0000;filter:brightness(1.4)}to{text-shadow:0 0 18px var(--ff-success-glow);filter:brightness()}}@keyframes ff-bib-fall{0%{opacity:1;transform:translateY(0)}to{opacity:.55;transform:translateY(10px)}}@media (max-width:480px),(max-height:860px){.ff-bib.is-run{gap:.32rem}.ff-bib-lyric{min-height:2.1rem;font-size:clamp(1.05rem,5vw,1.45rem)}.ff-bib-stage{height:clamp(8rem,20vh,13rem);min-height:8rem}.ff-bib-choice{min-height:2.85rem;padding:.55rem .4rem}.ff-bib-choose-label{letter-spacing:.18em;font-size:.58rem}.ff-bib-choices{gap:.8rem}}@media (min-width:720px){.ff-bib.is-run{min-height:36rem}.ff-bib-stage{height:clamp(14rem,38vh,24rem);min-height:14rem}.ff-bib-choice{min-height:3.4rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){.ff-bib-blank.is-locked,.ff-bib-choice.is-no,.ff-bib-word{transition:none;animation:none}}
.ff-listen-on{justify-items:start;gap:.45rem;min-width:0;margin:.85rem 0 0;display:grid}.ff-listen-on-label{letter-spacing:.18em;text-transform:uppercase;color:#6f7793;margin:0;font-size:.62rem;font-weight:600}.ff-listen-on-list{background:#ffffff08;border:1px solid #ffffff12;border-radius:999px;flex-wrap:nowrap;align-items:center;gap:.1rem;max-width:100%;margin:0;padding:.25rem .35rem;list-style:none;display:flex}.ff-listen-on-list>li{min-width:0;display:flex}.ff-listen-on-link{color:inherit;border-radius:.45rem;place-items:center;padding:.25rem;display:grid;position:relative}.ff-listen-on-link:after{content:"";position:absolute;inset:-.55rem -.05rem}.ff-listen-on-link:focus-visible{outline:2px solid var(--ff-pink,#ff2ea6);outline-offset:2px}.ff-listen-on-icon{object-fit:contain;opacity:.88;border-radius:.32rem;width:1.25rem;height:1.25rem;transition:opacity .2s,transform .2s;display:block}@media (hover:hover) and (pointer:fine){.ff-listen-on-link:hover .ff-listen-on-icon{opacity:1;transform:translateY(-1px)}}.ff-featured .ff-listen-on,.ff-identity .ff-listen-on{margin-top:1.15rem}.ff-featured .ff-listen-on-list,.ff-identity .ff-listen-on-list{gap:.2rem;padding:.3rem .45rem}.ff-featured .ff-listen-on-icon,.ff-identity .ff-listen-on-icon{border-radius:.36rem;width:1.4rem;height:1.4rem}.ff-identity .ff-listen-on{margin-top:.8rem}.ff-shelf-item .ff-listen-on{margin-top:.9rem}.ff-shelf-item .ff-listen-on-list{gap:.05rem;padding:.22rem .3rem}.ff-shelf-item .ff-listen-on-icon{border-radius:.3rem;width:1.15rem;height:1.15rem}
