:root{--navy:#102b4e;--navy2:#173d69;--red:#c62828;--red2:#a91f24;--green:#347844;--ink:#17212b;--muted:#5e6873;--line:#d8dee5}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font:16px/1.45 Arial,sans-serif;background-color:var(--green);background-image:linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.18) 49.8%,rgba(255,255,255,.18) 50.2%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,rgba(255,255,255,.12) 49.8%,rgba(255,255,255,.12) 50.2%,transparent 50.3%),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 90px,rgba(0,0,0,.035) 90px,rgba(0,0,0,.035) 180px)}header{position:relative;background:linear-gradient(135deg,var(--navy),#071a31);color:white;padding:24px max(20px,calc((100% - 1050px)/2));border-bottom:5px solid var(--red);box-shadow:0 4px 14px #0006}header h1,header p{margin:0}header h1{letter-spacing:.2px}header p{opacity:.85;margin-top:3px}nav{display:flex;gap:10px;align-items:center;margin-top:18px}nav a,.navbutton{color:white;text-decoration:none;padding:8px 12px;border:1px solid #ffffff77;border-radius:7px;background:transparent;font:inherit}nav a:hover,.navbutton:hover{background:#ffffff18}nav .active{background:white;color:var(--navy);border-color:white}main{max-width:1050px;margin:30px auto;padding:0 16px}.card{background:rgba(255,255,255,.96);border:1px solid #ffffffb8;border-radius:13px;padding:24px;margin-bottom:22px;box-shadow:0 7px 24px #08251055;backdrop-filter:blur(3px)}.card>h2{color:var(--navy);border-bottom:3px solid var(--red);padding-bottom:9px}.narrow{max-width:480px;margin:auto}.intro{max-width:750px}.games{display:grid;gap:14px}.game{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-left:6px solid var(--navy2);border-radius:9px;padding:18px;box-shadow:0 2px 7px #00000012}.game:hover{border-left-color:var(--red)}.game.closed{border-left-color:#888;background:#f4f5f6}.game h3,.game p{margin:0 0 6px}.game h3{color:var(--navy)}.meta{color:var(--muted)}button{font:inherit;cursor:pointer;border:0;border-radius:7px;padding:10px 15px;font-weight:700}.primary{background:linear-gradient(var(--red),var(--red2));color:white;box-shadow:0 2px 5px #70131844}.primary:hover{filter:brightness(1.08)}.secondary{background:#e7edf4;color:var(--navy)}.danger{background:#fee4e2;color:var(--red2)}button:disabled{opacity:.55;cursor:wait}.stack,.grid{display:grid;gap:15px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1/-1}label{display:grid;gap:6px;font-weight:700}small{font-weight:400;color:var(--muted)}input,textarea{width:100%;padding:10px;border:1px solid #aeb9c5;border-radius:6px;font:inherit;background:white}input:focus,textarea:focus{outline:3px solid #c9d9e9;border-color:var(--navy2)}.status{color:var(--muted)}.status.ok{color:#18794e}.status.error{color:var(--red2)}.empty{text-align:center;padding:30px;color:var(--muted)}dialog{border:0;border-radius:12px;padding:0;max-width:720px;width:calc(100% - 30px);box-shadow:0 16px 50px #0007}dialog::backdrop{background:#06192dcc}.modal{padding:24px;display:grid;gap:16px;position:relative}.modal h2{color:var(--navy)}.close{position:absolute;right:12px;top:10px;background:transparent;font-size:26px}.selected,.signup-details{background:#eaf0f6;border-left:4px solid var(--red);border-radius:7px;padding:12px}.title-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.title-row h2{color:var(--navy)}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:700px){body{background-size:auto}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.game,.title-row{align-items:stretch;flex-direction:column}.actions{justify-content:flex-start}.signup{width:100%}}
footer{max-width:1050px;margin:4px auto 24px;padding:0 16px}.footer-nav{justify-content:center;margin:0;padding:12px;border-radius:10px;background:rgba(7,26,49,.88);box-shadow:0 3px 12px #0004}.footer-nav a,.footer-nav .navbutton{font-size:14px;padding:7px 11px}.footer-nav .active{background:#fff;color:var(--navy)}
.rules-card{scroll-margin-top:18px}.rules-list{display:grid;gap:10px;margin:0;padding-left:24px}.rules-list li::marker{color:var(--red);font-weight:700}
.game.filled{border-left-color:#2f7d4b;background:#f7fbf8}.claimed-referee{min-width:150px;padding:10px 14px;border:1px solid #b8dcc5;border-radius:8px;background:#e8f5ec;color:#185b31;text-align:center}.claimed-referee span,.claimed-referee strong{display:block}.claimed-referee span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.claimed-referee strong{font-size:18px;margin-top:2px}
.date-divider{display:flex;align-items:center;gap:14px;margin:12px 0 0;color:var(--navy);font-size:19px;font-weight:800}.date-divider::before,.date-divider::after{content:"";height:3px;flex:1;background:linear-gradient(90deg,var(--navy),var(--red))}.date-divider::after{background:linear-gradient(90deg,var(--red),var(--navy))}.date-divider span{white-space:nowrap}@media(max-width:600px){.date-divider{font-size:16px}.date-divider::before{display:none}.date-divider span{white-space:normal}}
