/* One brief theatrical entrance; the playing surface stays quiet. */
.universe-intro{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--paper);color:var(--ink);outline:none}
.universe-intro::backdrop{background:var(--paper)}
.intro-stage{position:absolute;inset:0;display:grid;place-items:center;perspective:1000px;overflow:hidden;padding-bottom:110px;box-sizing:border-box}
.intro-art{width:min(480px,42vw,54dvh);aspect-ratio:1;position:relative;will-change:transform;transform-origin:50% 50%}
.intro-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.intro-label{position:absolute;bottom:13%;left:24px;right:24px;text-align:center;margin:0;pointer-events:none}
.intro-label strong{font-size:clamp(27px,4vw,48px);letter-spacing:-.05em;font-weight:800;display:block}
.intro-label span{font-size:14px;color:var(--muted);display:block;margin-top:6px}
.intro-skip{position:absolute;right:24px;bottom:24px;min-height:44px;background:none;border:0;color:var(--muted);font-size:14px;padding:8px 12px}
.intro-skip:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}
.intro-clap-arm{clip-path:polygon(0.000% 0.000%, 100.000% 0.000%, 100.000% 43.860%, 26.396% 43.860%, 26.396% 39.872%, 12.679% 26.635%, 0.000% 26.635%);transform-origin:11.244% 31.8979%;z-index:1}
.intro-clap-body{clip-path:polygon(0.000% 26.635%, 12.679% 26.635%, 26.396% 39.872%, 26.396% 43.860%, 100.000% 43.860%, 100.000% 100.000%, 0.000% 100.000%);z-index:2}
.placement-rule{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}
.perfect-callout{display:inline-flex;align-items:center;gap:7px;color:var(--soft-ink);font-size:12px;letter-spacing:.075em;font-weight:700;text-transform:uppercase}
.perfect-callout[hidden],.rematch-panel[hidden]{display:none!important}
.perfect-callout:before{content:'◎';font-size:19px;line-height:1}
.feedback.is-perfect #answer-points{font-size:clamp(21px,2.6vw,30px);letter-spacing:-.045em}
.feedback.is-perfect #answer-distance{margin-top:3px}
.rematch-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:1120px;width:100%;margin:20px auto 0;padding:16px 0;border-top:1px solid var(--line);order:2}
.series-score{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.series-score strong{font-size:21px;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.rematch-copy{font-size:14px;color:var(--muted);margin:0;line-height:1.45}
.rematch-cancel{border:0;background:none;color:var(--muted);font-size:14px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
body.is-duel-result #result-actions{order:3}
@media(max-width:700px){.intro-art{width:min(78vw,48dvh)}.intro-label{bottom:17%}.intro-skip{right:12px;bottom:16px}.perfect-callout{font-size:10px;letter-spacing:.04em}.placement-rule{font-size:11px}.rematch-panel{margin-top:10px;padding:12px 0;gap:8px}.rematch-copy{flex-basis:100%;font-size:13px}.series-score{font-size:13px}.series-score strong{font-size:19px}.feedback.is-perfect #answer-points{font-size:23px}}
@media(prefers-reduced-motion:reduce){.intro-art{will-change:auto}}

@media(max-width:400px){body.is-duel-result #result-actions #replay,body.is-duel-result #result-actions #share{width:100%;flex-basis:100%;min-height:48px;font-size:14px}body.is-duel-result #result-actions .text-button{font-size:13px;min-height:44px}}
