:root{--bg:#f7f7fa;--fg:#15171c;--muted:#6b7280;--accent:#ff5a1f;--accent-2:#1a8cff;--card:#fff;--border:#e3e5ea;--warn:#b25b00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--fg);margin:0;padding:0}button,input,select{font:inherit;color:inherit}button{background:var(--card);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:10px;padding:10px 16px}button:hover:not(:disabled){background:#eef0f4}button:disabled{opacity:.4;cursor:not-allowed}button.big{border-radius:14px;padding:16px 22px;font-size:18px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:#e94e15}button.record{color:#fff;background:#d93838;border-color:#d93838;width:100%;font-weight:600}.page{max-width:720px;min-height:100%;margin:0 auto;padding:16px}.muted{color:var(--muted)}.error{color:#c0392b;padding:12px}.warn{color:var(--warn)}.back{color:var(--muted);margin-bottom:12px;text-decoration:none;display:inline-block}.back:hover{color:var(--fg)}.home h1{margin:8px 0;font-size:36px}.kid-cards{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;display:grid}.kid-card{background:var(--card);color:var(--fg);border:1px solid var(--border);border-radius:14px;padding:24px;text-decoration:none;display:block;box-shadow:0 1px 2px #0f11150a}.kid-card-title{font-size:20px;font-weight:600}.kid-card-status{color:var(--muted);margin-top:6px}.play-link{text-align:center;background:var(--accent);color:#fff;border-radius:14px;padding:18px;font-size:20px;font-weight:700;text-decoration:none;display:block}.play-link.disabled{opacity:.4;pointer-events:none}.play-select{background:var(--accent);color:#fff;appearance:none;text-align:center;text-align-last:center;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='white' d='M6 8L0 0h12z'/></svg>");background-position:right 18px center;background-repeat:no-repeat;border:none;border-radius:14px;width:100%;padding:18px 44px 18px 18px;font-size:20px;font-weight:700;display:block}.play-select:disabled{opacity:.4;cursor:not-allowed}.play-select option{color:var(--fg);background:var(--card);text-align:left;font-weight:500}.upload-link{text-align:center;color:var(--muted);margin-top:12px;font-size:14px;text-decoration:none;display:block}.upload-link:hover{color:var(--fg)}.upload-link.disabled{opacity:.4;pointer-events:none}.name-input{background:var(--card);border:1px solid var(--border);border-radius:10px;width:100%;margin-bottom:12px;padding:10px 14px;display:block}.camera-shot h3{margin:8px 0}.camera-frame{aspect-ratio:3/4;background:#000;border-radius:12px;margin-bottom:12px;position:relative;overflow:hidden}.camera-video,.camera-preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-video{transform:scaleX(-1)}.camera-preview{background:#000}.step-nav{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.voice-recorder audio{width:100%;margin:12px 0;display:block}.pitch-info{padding:8px 0}.controls{background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px;display:flex}.controls label{color:var(--muted);flex-direction:column;font-size:12px;display:flex}.controls select{border:1px solid var(--border);color:var(--fg);background:#fff;border-radius:8px;padding:6px 8px}.controls input[type=file]{color:var(--muted)}.stage{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kid-face{aspect-ratio:3/4;background:#e3e5ea;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f11150d}.kid-face.placeholder{background:linear-gradient(160deg,#ffe4d2 0%,#ffd1f5 100%);justify-content:center;align-items:center;display:flex}.placeholder-emoji{filter:drop-shadow(0 2px 6px #00000014);font-size:clamp(64px,18vw,140px)}.small-note{margin-top:12px;font-size:13px}.kid-photo{object-fit:cover;width:100%;height:100%;transition:opacity 80ms linear;position:absolute;inset:0}.kid-name{color:#fff;background:#0000008c;border-radius:6px;padding:4px 8px;font-size:12px;position:absolute;bottom:8px;left:8px}@media (width<=480px){.controls{flex-direction:column;align-items:stretch}.controls label{width:100%}}
