@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@500;700&display=swap');

:root{
  --navy:#13233F; --navy-2:#1B2F52; --clay:#C1654A; --grass:#2F5D43;
  --cream:#F6F1E4; --foul:#E8B33D; --line:#3A4D6E; --ink:#0D1626;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--cream);color:var(--ink);font-family:'Inter',sans-serif;min-height:100vh;}
h1,h2,h3,.display{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.02em;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'Roboto Mono',monospace;}

.topbar{
  background:var(--navy); color:var(--cream); padding:14px 20px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:4px solid var(--foul); position:sticky; top:0; z-index:50;
}
.brand{display:flex; align-items:center; gap:10px;}
.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--cream);position:relative;box-shadow:inset 0 0 0 2px var(--clay);}
.brand-mark::before,.brand-mark::after{content:'';position:absolute;top:50%;left:50%;width:22px;height:1px;background:var(--clay);}
.brand-mark::before{transform:translate(-50%,-50%) rotate(35deg);}
.brand-mark::after{transform:translate(-50%,-50%) rotate(-35deg);}
.brand-name{font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;letter-spacing:.04em;}
.brand-name span{color:var(--foul);}
.topbar-actions{display:flex; gap:10px; align-items:center;}
.topbar-actions span{font-size:13px; color:#C9D2E3;}

.btn{border:none;cursor:pointer;font-family:'Inter',sans-serif;font-weight:600;padding:10px 16px;border-radius:6px;font-size:14px;display:inline-block;}
.btn-primary{background:var(--foul); color:var(--ink);}
.btn-clay{background:var(--clay); color:#fff;}
.btn-grass{background:var(--grass); color:#fff;}
.btn-ghost{background:transparent; color:#55534C; border:1px solid #D8CFB8;}
.btn-ghost-dark{background:transparent; color:var(--cream); border:1px solid var(--line);}
.btn-danger{background:transparent; color:#A1432F; border:1px solid #A1432F;}
.btn-sm{padding:6px 10px; font-size:12px; border-radius:5px;}
.btn:disabled{opacity:.5; cursor:not-allowed;}

.wrap{max-width:980px; margin:0 auto; padding:28px 18px 80px;}
.wrap-narrow{max-width:420px; margin:0 auto; padding:60px 18px;}

.hero{background:var(--navy); color:var(--cream); border-radius:14px; padding:46px 32px; margin-bottom:28px; position:relative; overflow:hidden; border:1px solid var(--line);}
.hero::after{content:'';position:absolute; right:-60px; top:-60px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle, rgba(232,179,61,.18), transparent 70%);}
.hero h1{font-size:38px; margin:0 0 10px; line-height:1.05;}
.hero p{font-size:16px; color:#C9D2E3; max-width:560px; margin:0 0 22px; text-transform:none; letter-spacing:0; font-family:'Inter';}
.stitches{display:flex; gap:6px; margin-bottom:18px;}
.stitches span{width:14px;height:14px;border-radius:50%;border:2px solid var(--foul); display:inline-block;}

.card{background:#fff; border:1px solid #E3DBC8; border-radius:12px; padding:20px; margin-bottom:16px;}
.league-card{display:flex; align-items:center; justify-content:space-between;}
.league-name{font-family:'Oswald'; font-weight:700; font-size:18px; text-transform:uppercase;}
.league-meta{color:#71706A; font-size:13px; margin-top:4px;}
.pill{background:var(--grass); color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.05em;}

.section-title{font-size:13px; letter-spacing:.12em; color:#71706A; margin:28px 0 10px; font-weight:700; text-transform:uppercase;}

input,select,textarea{font-family:'Inter'; font-size:14px; padding:10px 12px; border:1px solid #D8CFB8; border-radius:6px; width:100%; background:#fff; color:var(--ink);}
label{font-size:12px; font-weight:600; color:#55534C; display:block; margin-bottom:5px; text-transform:uppercase; letter-spacing:.04em;}
.field{margin-bottom:14px;}
.row{display:flex; gap:12px;}
.row > *{flex:1;}

.league-header{background:var(--navy); color:var(--cream); border-radius:12px; padding:24px 26px; margin-bottom:18px; display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:14px; border-bottom:4px solid var(--clay);}
.league-header h2{margin:0; font-size:26px;}
.league-header .sub{color:#C9D2E3; font-size:13px; text-transform:none; letter-spacing:0; margin-top:4px; font-family:'Inter';}
.back-link{color:var(--foul); cursor:pointer; font-size:13px; font-weight:600; display:inline-block; margin-bottom:14px;}

.tabs{display:flex; gap:4px; border-bottom:2px solid #E3DBC8; margin-bottom:20px; flex-wrap:wrap;}
.tab{padding:10px 16px; cursor:pointer; font-weight:600; font-size:14px; color:#8C8A80; border-bottom:3px solid transparent; margin-bottom:-2px;}
.tab.active{color:var(--ink); border-bottom-color:var(--clay);}

table{width:100%; border-collapse:collapse;}
th{text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#71706A; padding:8px 10px; border-bottom:2px solid #E3DBC8;}
td{padding:10px 10px; border-bottom:1px solid #EFE9D9; font-size:14px;}
.num{font-family:'Roboto Mono'; font-weight:600; text-align:center;}

.team-row{display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid #EFE9D9;}
.team-row:last-child{border-bottom:none;}
.team-name{font-weight:600;}

.game-card{border:1px solid #E3DBC8; border-radius:10px; padding:14px 16px; margin-bottom:10px; background:#fff; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
.game-teams{font-weight:600; font-size:15px;}
.game-meta{font-size:12px; color:#71706A; margin-top:3px;}
.score-pill{font-family:'Roboto Mono'; font-weight:700; background:var(--navy); color:var(--cream); padding:6px 12px; border-radius:6px; font-size:15px;}

.empty-state{text-align:center; padding:50px 20px; color:#8C8A80;}
.empty-state .icon{font-size:34px; margin-bottom:8px;}
.public-banner{background:var(--foul); color:var(--ink); font-size:12px; font-weight:700; text-align:center; padding:8px; border-radius:8px; margin-bottom:16px; text-transform:uppercase; letter-spacing:.05em;}
.footer-note{text-align:center; color:#A39E8C; font-size:12px; margin-top:40px;}
.error-msg{background:#FBEAE6; color:#A1432F; padding:10px 14px; border-radius:8px; font-size:13px; margin-bottom:16px;}
.success-msg{background:#E7F0E9; color:var(--grass); padding:10px 14px; border-radius:8px; font-size:13px; margin-bottom:16px;}

@media (max-width:560px){ .hero h1{font-size:28px;} .row{flex-direction:column;} }
