/* The Sport Quiz — shared theme, ported from predict6/match.html.
   Charcoal/amber palette, Archivo (display) + Inter (body) + Space Mono (mono). */

:root{
  --bg:#121212; --surface:#1a1a1a; --surface-2:#1e1e1e; --border:#2a2a2a; --border-soft:#242424;
  --amber:#f59e0b; --amber-bright:#fbbf24; --amber-dim:#b45309;
  --green:#22c55e; --green-dim:#15803d; --red:#f43f5e; --ink:#f5f5f5; --muted:#a3a3a3; --muted-2:#6b6b6b;
  --team:#f59e0b; /* overridden by chosen club colour */
  --radius:14px; --radius-sm:9px; --shadow:0 20px 50px -22px rgba(0,0,0,.85);
  --display:"Archivo",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif; --mono:"Space Mono",ui-monospace,monospace;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--body); background:var(--bg); color:var(--ink); line-height:1.55; -webkit-font-smoothing:antialiased; min-height:100vh;
  background-image:radial-gradient(900px 480px at 88% -10%, rgba(245,158,11,.10), transparent 60%), radial-gradient(700px 360px at 0% 0%, rgba(245,158,11,.05), transparent 55%); }
h1,h2,h3,.brand{ font-family:var(--display); letter-spacing:-.015em; }
a{ color:inherit; }
.wrap{ width:min(680px,92%); margin-inline:auto; }

header.site{ position:sticky; top:0; z-index:40; background:rgba(18,18,18,.85); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); }
.bar{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 0; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:900; font-size:1.12rem; text-decoration:none; }
.brand .mk{ width:32px; height:32px; border-radius:8px; flex:none; display:grid; place-items:center; background:linear-gradient(150deg,var(--amber-bright),var(--amber-dim)); color:#1a1200; font-weight:900; font-size:1rem; }
.brand span b{ color:var(--amber); }
.brand .tag{ font-family:var(--mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); border:1px solid var(--border); border-radius:5px; padding:3px 7px; }
.hbtns{ display:flex; align-items:center; gap:9px; }
.nav-links{ display:flex; align-items:center; gap:4px; }
.nav-links a{ font-family:var(--mono); font-size:.75rem; letter-spacing:.04em; color:var(--muted); text-decoration:none; padding:8px 12px; border-radius:8px; transition:color .15s, background .15s; }
.nav-links a:hover{ color:var(--ink); background:var(--surface); }
.nav-links a.active{ color:var(--amber); }
.streak{ display:flex; align-items:center; gap:6px; font-family:var(--mono); font-size:.85rem; color:var(--amber); background:var(--surface); border:1px solid var(--border); padding:7px 12px; border-radius:999px; }
.streak svg{ width:15px; height:15px; }
.icon-btn{ display:grid; place-items:center; width:38px; height:38px; border-radius:9px; background:var(--surface); border:1px solid var(--border); color:var(--muted); cursor:pointer; transition:border-color .15s, color .15s; }
.icon-btn:hover{ border-color:var(--amber); color:var(--amber); } .icon-btn svg{ width:18px; height:18px; }

main{ padding:26px 0 60px; }
.card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.eyebrow{ font-family:var(--mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); }

/* Hero (index.html) */
.hero{ padding:40px 26px; text-align:center; }
.hero h1{ font-size:clamp(1.8rem,6vw,2.6rem); font-weight:900; margin:10px 0 12px; }
.hero p{ color:var(--muted); font-size:1rem; max-width:46ch; margin:0 auto; }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:26px 0; }
.step{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm); padding:16px 12px; text-align:center; }
.step .n{ font-family:var(--mono); color:var(--amber); font-size:.75rem; }
.step p{ font-size:.8rem; color:var(--muted); margin-top:6px; max-width:none; }
@media (max-width:640px){ .steps{ grid-template-columns:1fr 1fr; } }

/* Forms */
.field{ text-align:left; max-width:360px; margin:0 auto 16px; }
.field label{ font-size:.78rem; color:var(--muted); font-weight:500; display:block; margin-bottom:6px; }
.field input[type="text"], .field input[type="email"]{ width:100%; background:var(--bg); border:1.5px solid var(--border); border-radius:11px; padding:13px 15px; color:var(--ink); font-size:1rem; font-family:inherit; transition:border-color .16s, box-shadow .16s; }
.field input:focus{ outline:none; border-color:var(--team); box-shadow:0 0 0 3px rgba(245,158,11,.18); }
.checkbox-row{ display:flex; align-items:flex-start; gap:10px; max-width:360px; margin:0 auto 14px; text-align:left; }
.checkbox-row input{ margin-top:3px; flex:none; width:16px; height:16px; accent-color:var(--amber); }
.checkbox-row label{ font-size:.82rem; color:var(--muted); }
.swatches{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; max-width:360px; margin:0 auto 22px; }
.swatch{ width:40px; height:40px; border-radius:11px; cursor:pointer; border:2px solid transparent; transition:transform .14s; position:relative; }
.swatch:hover{ transform:scale(1.08); }
.swatch.sel{ border-color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.15); }
.preview-crest{ width:66px; height:66px; border-radius:16px; display:grid; place-items:center; font-family:var(--display); font-weight:900; font-size:1.5rem; color:#111; margin:0 auto 14px; }

.btn{ appearance:none; border:0; cursor:pointer; font-family:var(--display); font-weight:800; font-size:1rem; color:#1a1200; padding:14px 24px; border-radius:12px; background:linear-gradient(150deg,var(--amber-bright),var(--amber)); box-shadow:0 12px 26px -14px rgba(245,158,11,.8); transition:transform .16s, filter .16s; }
.btn:hover{ transform:translateY(-2px); filter:brightness(1.05); }
.btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; }
.btn.wide{ width:100%; }
.btn.ghost{ background:transparent; border:1px solid var(--border); color:var(--muted); box-shadow:none; }
.btn.ghost:hover{ border-color:var(--muted); color:var(--ink); }
.btn.danger{ background:linear-gradient(150deg,#f87171,var(--red)); box-shadow:0 12px 26px -14px rgba(244,63,94,.7); }

.msg{ max-width:360px; margin:0 auto 14px; font-size:.85rem; padding:11px 14px; border-radius:10px; text-align:left; display:none; }
.msg.show{ display:block; }
.msg.info{ background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.3); color:var(--amber-bright); }
.msg.error{ background:rgba(244,63,94,.1); border:1px solid rgba(244,63,94,.3); color:#fecdd3; }
.msg.success{ background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.3); color:#bbf7d0; }
.msg a{ color:inherit; text-decoration:underline; }

/* Matchup */
.matchup{ padding:26px 22px; text-align:center; }
.matchup .chno{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); }
.vs-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; margin:18px 0 6px; }
.vs-team{ display:flex; flex-direction:column; align-items:center; gap:10px; }
.vs-crest{ width:72px; height:72px; border-radius:18px; display:grid; place-items:center; font-family:var(--display); font-weight:900; font-size:1.5rem; color:#111; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 10px 24px -12px rgba(0,0,0,.8); }
.vs-team .nm{ font-family:var(--display); font-weight:800; font-size:1rem; max-width:14ch; }
.vs-team .sub{ font-size:.72rem; color:var(--muted-2); font-family:var(--mono); }
.vs-mid{ font-family:var(--display); font-weight:900; color:var(--muted-2); font-size:1.2rem; }
.diff{ display:inline-flex; gap:3px; margin-top:2px; }
.diff .s{ color:var(--muted-2); font-size:.85rem; } .diff .s.on{ color:var(--amber); }
.matchup .lede{ color:var(--muted); font-size:.9rem; margin:14px auto 20px; max-width:40ch; }

/* In-play */
.scoreboard{ display:flex; align-items:center; justify-content:center; gap:16px; padding:16px; border-bottom:1px solid var(--border-soft); background:rgba(255,255,255,.015); }
.sb-team{ display:flex; align-items:center; gap:9px; font-weight:700; font-size:.9rem; }
.sb-crest{ width:26px; height:26px; border-radius:7px; display:grid; place-items:center; font-family:var(--display); font-weight:900; font-size:.7rem; color:#111; }
.sb-score{ font-family:var(--mono); font-size:1.7rem; font-weight:700; min-width:52px; text-align:center; }
.sb-score.you{ color:var(--team); } .sb-score.opp{ color:var(--muted); }
.sb-dash{ color:var(--muted-2); font-family:var(--display); font-weight:900; }

.qwrap{ padding:22px; }
.qtop{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.qprog{ font-family:var(--mono); font-size:.72rem; color:var(--muted); letter-spacing:.06em; }
.timer{ position:relative; width:52px; height:52px; }
.timer svg{ transform:rotate(-90deg); }
.timer .track{ stroke:var(--border); } .timer .prog{ stroke:var(--team); stroke-linecap:round; transition:stroke .2s; }
.timer .t{ position:absolute; inset:0; display:grid; place-items:center; font-family:var(--mono); font-weight:700; font-size:1rem; }
.qtext{ font-family:var(--display); font-weight:700; font-size:1.2rem; line-height:1.3; margin-bottom:18px; }
.opts{ display:grid; gap:10px; }
.opt{ text-align:left; cursor:pointer; font-family:var(--body); font-size:1rem; color:var(--ink); background:var(--bg); border:1.5px solid var(--border); border-radius:12px; padding:15px 17px; transition:border-color .14s, background .14s, transform .1s; display:flex; align-items:center; gap:12px; }
.opt:hover:not(:disabled){ border-color:var(--team); }
.opt:active:not(:disabled){ transform:scale(.99); }
.opt .key{ font-family:var(--mono); font-weight:700; font-size:.8rem; color:var(--muted-2); width:20px; flex:none; }
.opt:disabled{ cursor:default; }
.opt.correct{ border-color:var(--green); background:rgba(34,197,94,.12); color:#eafff2; }
.opt.correct .key{ color:var(--green); }
.opt.wrong{ border-color:var(--red); background:rgba(244,63,94,.1); color:#fecdd3; }
.opt.wrong .key{ color:var(--red); }
.opt.dim{ opacity:.5; }

.qresult{ display:none; margin-top:16px; padding:13px 15px; border-radius:11px; font-size:.86rem; }
.qresult.show{ display:flex; align-items:center; justify-content:space-between; gap:10px; animation:pop .3s ease both; }
.qresult .you-r{ font-weight:700; } .qresult .you-r.good{ color:var(--green); } .qresult .you-r.bad{ color:var(--red); }
.qresult .opp-r{ font-family:var(--mono); font-size:.78rem; color:var(--muted); }
@keyframes pop{ from{ transform:translateY(6px); opacity:0; } to{ transform:none; opacity:1; } }
.qnext{ margin-top:16px; text-align:center; display:none; } .qnext.show{ display:block; }

/* Full-time */
.ft-top{ padding:24px 22px; text-align:center; border-bottom:1px solid var(--border-soft); }
.ft-badge{ font-family:var(--display); font-weight:900; font-size:1.6rem; }
.ft-badge.win{ color:var(--green); } .ft-badge.draw{ color:var(--amber); } .ft-badge.loss{ color:var(--red); }
.ft-score{ font-family:var(--mono); font-size:2.4rem; font-weight:700; margin-top:6px; }
.ft-score .sep{ color:var(--muted-2); }
.ft-earn{ font-size:.85rem; color:var(--muted); margin-top:6px; font-family:var(--mono); }
.ft-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border-soft); }
.ft-stat{ background:var(--surface); padding:14px 6px; text-align:center; }
.ft-stat .v{ font-family:var(--display); font-weight:800; font-size:1.4rem; } .ft-stat .l{ font-size:.6rem; color:var(--muted-2); text-transform:uppercase; letter-spacing:.06em; margin-top:2px; }
.ft-foot{ padding:18px 22px; display:flex; flex-direction:column; gap:13px; }
.cd{ text-align:center; font-family:var(--mono); font-size:.8rem; color:var(--muted); } .cd b{ color:var(--amber); }

/* League table */
.league-head{ padding:20px 22px 6px; }
.league-head h1{ font-size:1.3rem; font-weight:900; }
.league-head .sub{ font-size:.8rem; color:var(--muted-2); margin-top:4px; }
table.tbl{ width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.tbl th{ text-align:left; font-family:var(--mono); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); padding:11px 14px; border-bottom:1px solid var(--border-soft); }
.tbl th.r{ text-align:right; } .tbl td{ padding:12px 14px; font-size:.9rem; }
.tbl tbody tr:nth-child(odd){ background:rgba(255,255,255,.016); }
.tbl tbody tr.you td{ background:rgba(245,158,11,.12); color:var(--amber-bright); font-weight:600; }
.tbl tbody tr.zone-promotion td:first-child{ box-shadow:inset 3px 0 0 var(--green); }
.tbl tbody tr.zone-relegation td:first-child{ box-shadow:inset 3px 0 0 var(--red); }
.tbl .rank{ font-family:var(--mono); width:26px; color:var(--muted); }
.tbl .club{ display:flex; align-items:center; gap:10px; } .tbl .cc{ width:22px; height:22px; border-radius:6px; flex:none; }
.tbl .pts{ text-align:right; font-family:var(--mono); font-weight:700; }
.tbl tbody tr.cpu-row td{ color:var(--muted-2); }
.tbl tbody tr.cpu-row .cc{ opacity:.55; }
.cpu-tag{ font-family:var(--mono); font-size:.6rem; letter-spacing:.06em; color:var(--muted-2); border:1px solid var(--border); border-radius:5px; padding:1px 5px; margin-left:4px; }
.zone-legend{ display:flex; gap:18px; padding:12px 4px; font-size:.76rem; color:var(--muted-2); }
.zone-legend span{ display:inline-flex; align-items:center; gap:6px; }
.zone-legend i{ width:9px; height:9px; border-radius:3px; display:inline-block; }
.zone-legend i.promotion{ background:var(--green); } .zone-legend i.relegation{ background:var(--red); }

.history-list{ display:grid; gap:1px; background:var(--border-soft); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; margin-top:14px; }
.history-row{ background:var(--surface); padding:13px 16px; display:flex; align-items:center; justify-content:space-between; font-size:.86rem; }
.history-row .m{ font-family:var(--mono); color:var(--muted-2); font-size:.76rem; }
.history-row .tag{ font-family:var(--mono); font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; padding:3px 9px; border-radius:999px; }
.history-row .tag.promoted{ color:var(--green); background:rgba(34,197,94,.12); }
.history-row .tag.relegated{ color:var(--red); background:rgba(244,63,94,.12); }
.history-row .tag.stayed{ color:var(--muted); background:rgba(255,255,255,.05); }

/* Account */
.section{ padding:20px 22px; border-bottom:1px solid var(--border-soft); }
.section:last-child{ border-bottom:0; }
.section h2{ font-size:1rem; font-weight:800; margin-bottom:12px; }
.kv{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--border-soft); font-size:.9rem; } .kv:last-child{ border:0; } .kv .v{ font-family:var(--mono); font-weight:700; }

/* modal */
.overlay{ position:fixed; inset:0; z-index:80; background:rgba(8,8,8,.72); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:20px; }
.overlay.open{ display:flex; animation:pop .2s ease both; }
.sheet{ width:min(430px,100%); background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 30px 70px -20px rgba(0,0,0,.9); overflow:hidden; }
.sheet-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--border-soft); } .sheet-head h3{ font-size:1.1rem; font-weight:800; }
.sheet-body{ padding:20px; } .sheet-body p{ color:var(--muted); font-size:.88rem; margin-bottom:10px; }
.close-x{ cursor:pointer; color:var(--muted); background:none; border:0; font-size:1.4rem; line-height:1; padding:4px; } .close-x:hover{ color:var(--ink); }

footer.site{ border-top:1px solid var(--border); padding:22px 0; color:var(--muted-2); font-size:.8rem; text-align:center; margin-top:14px; } footer.site a{ color:var(--muted); text-decoration:none; } footer.site a:hover{ color:var(--amber); }
.toast{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px); background:var(--ink); color:#111; font-weight:700; font-size:.85rem; padding:11px 18px; border-radius:10px; opacity:0; pointer-events:none; transition:all .25s; z-index:120; } .toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

.loading{ text-align:center; padding:40px 22px; color:var(--muted); font-size:.9rem; }

@media (max-width:520px){ .qtext{ font-size:1.08rem; } .ft-score{ font-size:2rem; } .vs-crest{ width:60px; height:60px; font-size:1.3rem; } }
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; } }
