.fs-ready { padding: 2rem 0; }
.fs-count { font-size: clamp(2.4rem, 8vw, 4rem); font-weight: 900; color: var(--primary-ink); animation: pulse 1s infinite; }
.fs-pad { width: 100%; min-height: 300px; border-radius: calc(var(--radius) + 8px); display: grid; place-items: center; font-size: clamp(1.8rem, 6vw, 3rem); font-weight: 900; color: #fff; transition: background .08s; user-select: none; touch-action: manipulation; }
.fs-pad.wait { background: #b91c1c; }
.fs-pad.go { background: #16a34a; }
.fs-pad.done { opacity: .65; }
.fs-q { font-size: clamp(2.2rem, 8vw, 3.6rem); font-weight: 900; color: var(--primary-ink); user-select: none; animation: pop .3s var(--ease); }
.fs-grid { display: grid; gap: .5rem; max-width: 460px; margin: 0 auto; }
.fs-grid.g5 { grid-template-columns: repeat(5, 1fr); }
.fs-grid.small { max-width: 380px; gap: .35rem; }
.fs-cell { aspect-ratio: 1; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line-soft); padding: 16%; display: grid; place-items: center; }
button.fs-cell:hover:not(:disabled) { border-color: var(--primary); background: var(--tint); }
.fs-target { display: flex; align-items: center; gap: .5rem; font-size: 1.3rem; font-weight: 900; margin-bottom: .6rem; }
.fs-t { width: 40px; height: 40px; display: inline-grid; }
.fs-podium { display: flex; align-items: flex-end; justify-content: center; gap: .6rem; margin-top: .6rem; }
.fs-podium .pd { width: 120px; border-radius: 14px 14px 6px 6px; background: var(--surface-2); border: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: .2rem; padding: .6rem .4rem; animation: pop .4s var(--ease); }
.fs-podium .pd b { font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.fs-podium .pd span { font-weight: 900; color: var(--primary-ink); }
.fs-podium .p1 { order: 2; height: 130px; border-color: var(--primary); background: var(--tint); }
.fs-podium .p2 { order: 1; height: 100px; }
.fs-podium .p3 { order: 3; height: 80px; }
.shp { width: 100%; height: 100%; display: block; }
