/* FOCUS Football Predictions — shared styles for the hosted player pages. */
* { box-sizing: border-box; }
body { margin: 0; background: #f4f6f9; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1a1a1a; -webkit-text-size-adjust: 100%; }
.wrap { max-width: 560px; margin: 0 auto; padding: 20px 16px 60px; }
.card { background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,.06); padding: 22px; }
h1 { font-size: 22px; margin: 0 0 4px; }
h1 .em { font-size: 26px; }
.sub { color: #667; margin: 0 0 16px; font-size: 14px; }
.badge { display:inline-block; background:#eef4fb; color:#0b5cab; border-radius:20px; padding:4px 12px; font-size:13px; font-weight:600; margin-bottom:14px; }
.fixture { border:1px solid #e6e9ef; border-radius:10px; padding:12px; margin:10px 0; }
.teams { display:flex; align-items:center; gap:8px; font-weight:700; margin-bottom:10px; }
.teams .v { color:#99a; font-weight:400; }
.teams .home { flex:1; text-align:right; }
.teams .away { flex:1; text-align:left; }
.choices { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
.choice { text-align:center; padding:10px 6px; border:1.5px solid #d5dae2; border-radius:8px; cursor:pointer; font-weight:600; font-size:14px; user-select:none; background:#fff; -webkit-tap-highlight-color: transparent; }
.choice small { display:block; font-weight:400; color:#889; font-size:11px; margin-top:2px; }
.choice.sel { background:#0b5cab; border-color:#0b5cab; color:#fff; }
.choice.sel small { color:#cfe0f3; }
.btn { display:block; width:100%; background:#0b5cab; color:#fff; border:none; border-radius:8px; padding:14px; font-size:16px; font-weight:700; cursor:pointer; margin-top:18px; -webkit-appearance:none; }
.btn:disabled { opacity:.5; cursor:default; }
.btn.secondary { background:#fff; color:#0b5cab; border:1.5px solid #0b5cab; }
.field { margin:12px 0; }
.field label { display:block; font-weight:600; font-size:14px; margin-bottom:5px; }
.field input { width:100%; padding:12px; border:1.5px solid #d5dae2; border-radius:8px; font-size:16px; }
.msg { padding:12px 14px; border-radius:8px; margin-top:14px; font-size:14px; display:none; }
.msg.ok { background:#e8f7ee; color:#1c7a3f; display:block; }
.msg.err { background:#fbe3e3; color:#a12b2b; display:block; }
.msg.info { background:#eef4fb; color:#0b5cab; display:block; }
.deadline { color:#a15b00; font-weight:600; font-size:14px; }
.foot { color:#99a; font-size:12px; margin-top:18px; }
.center { text-align:center; }
.spinner { text-align:center; color:#889; padding:30px 0; }
