:root{color-scheme:light;--bg: #0f172a;--surface: #ffffff;--ink: #0f172a;--muted: #64748b;--accent: #16a34a;--accent-ink: #ffffff;--border: #e2e8f0;--danger: #dc2626;font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#0f172a,#1e293b 220px,#f1f5f9 220px);color:var(--ink)}#app{max-width:480px;margin:0 auto;padding:24px 16px 48px}.call-card{background:var(--surface);border-radius:16px;padding:20px;box-shadow:0 10px 30px #0f172a1f;display:flex;flex-direction:column;gap:14px}.card-header{display:flex;align-items:center;gap:10px}.tier-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:8px;font-weight:700;font-size:14px;background:var(--accent);color:var(--accent-ink)}.tier-S{background:#ca8a04}.tier-A{background:#16a34a}.tier-B{background:#2563eb}.tier-C{background:#64748b}.tier-D,.tier-E,.tier-F{background:#94a3b8}.team-name{font-size:18px;font-weight:700}.card-meta{display:flex;flex-direction:column;gap:4px}.venue-name{font-size:15px;color:var(--muted);margin:0}.time-range{font-size:20px;font-weight:800;margin:2px 0;letter-spacing:-.01em}.court-number{font-size:14px;color:var(--muted);margin:0}.intro-text{font-size:14px;line-height:1.5;color:var(--ink);background:#f8fafc;border-radius:10px;padding:12px;margin:0;white-space:pre-wrap}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{font-size:13px;padding:4px 10px;border-radius:999px;background:#f1f5f9;color:var(--muted)}.btn{border:none;border-radius:12px;padding:14px 16px;font-size:16px;font-weight:700;cursor:pointer}.btn-apply{background:var(--accent);color:var(--accent-ink)}.btn-apply:active{transform:scale(.98)}.btn-retry{background:var(--ink);color:#fff}.closed-message{text-align:center;padding:14px 16px;border-radius:12px;background:#f1f5f9;color:var(--muted);font-weight:700;margin:0}.state{color:#fff;padding:40px 8px;text-align:center}.state-loading{color:#fff;font-size:15px}.state-error{display:flex;flex-direction:column;gap:8px}.state-title{font-size:17px;font-weight:700;margin:0}.state-hint{font-size:14px;color:#cbd5e1;margin:0}.state-error .btn-retry{margin-top:8px}.apply-step{background:var(--surface);border-radius:16px;padding:20px;box-shadow:0 10px 30px #0f172a1f;display:flex;flex-direction:column;gap:12px}.step-title{font-size:17px;font-weight:700;margin:0}.step-hint{font-size:14px;color:var(--muted);margin:0}.form-error{font-size:13px;color:var(--danger);margin:0}.input,select[data-testid=age-group-select]{border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:16px;width:100%}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--muted);border:1px solid var(--border)}.gender-choice{display:flex;gap:8px}.btn-choice{flex:1;background:#f1f5f9;color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:12px;font-weight:700;cursor:pointer}.btn-choice.selected{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
