.child-invite{display:flex;align-items:center;gap:24px;padding:24px 0;border-top:1px solid var(--line);margin-top:32px}
.child-invite img{width:160px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:18px;flex-shrink:0}
.child-invite h2{margin:0 0 8px}.child-invite p{max-width:55ch}
.child-play{width:min(960px,calc(100vw - 24px));max-width:960px;max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:24px;background:#fbfaf5;color:#30221b;box-shadow:0 24px 80px #24170c40;overflow:auto}
.child-play::backdrop{background:#24170cb3}
.child-play *{box-sizing:border-box}.child-play button{min-height:52px;font-size:1.05rem;white-space:normal}
.child-play header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:#fff5d9;border-bottom:1px solid #dfcda6;position:static}
.child-play header p{margin:0;font-weight:700}.child-play header button{background:transparent;color:#005a46;border:1px solid #005a46}
.child-play .play-content{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;padding:32px;align-items:start}
.child-play .play-art{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:45% center;border-radius:20px}
.child-play h2{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;margin:0 0 20px;color:#005a46;letter-spacing:-.025em}
.child-play p{font-size:1.125rem;line-height:1.6}.child-play .play-prompt{font-size:1.3rem;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.child-play label{font-size:1.05rem}.child-play select{min-height:52px;width:100%;margin:10px 0 20px;font-size:1rem}
.child-play .play-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 24px;font-size:.9rem}
.child-play .play-steps li{flex:1;padding:10px 6px;border-bottom:4px solid #dfcda6;color:#654d39;text-align:center}
.child-play .play-steps [aria-current=step]{border-color:#007a5e;color:#005a46;font-weight:800}
.child-play .play-actions{display:grid;gap:12px;margin-top:24px}.child-play .play-actions button{width:100%}
.child-play .play-hint{padding:16px;background:#fff0ce;border-radius:12px;color:#54371c}
.child-play .play-status{font-size:.95rem;color:#654d39;min-height:1.5em}
.child-play :focus-visible{outline:3px solid #005a46;outline-offset:4px}.child-play ::selection{background:#fcd116;color:#30221b}
@keyframes play-arrive{from{transform:translateY(10px)}to{transform:translateY(0)}}
.child-play .play-task{animation:play-arrive .24s cubic-bezier(.16,1,.3,1)}
@media(max-width:620px){.child-play .play-content{grid-template-columns:1fr;padding:20px;gap:20px}.child-play .play-art{aspect-ratio:2.5;object-position:center 45%}.child-play header{padding:12px 16px;align-items:start}.child-play header button{font-size:.9rem}.child-invite{align-items:start;gap:16px}.child-invite img{width:90px}.child-play .play-steps{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.child-play .play-task{animation:none}}
