:root{--ink:#10150f;--muted:#667064;--bg:#f3f6ef;--card:#fff;--green:#166534;--deep:#073b25;--lime:#c7f34b;--line:#dfe5db;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}
nav{height:72px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}nav div{display:flex;gap:20px;align-items:center}.brand{font-weight:900;font-size:20px}
.hero{min-height:540px;padding:80px max(7vw,28px);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#092d19,#166534);color:#fff;overflow:hidden}.hero h1{font-size:clamp(48px,7vw,92px);line-height:.94;margin:18px 0;letter-spacing:-4px}.hero p{max-width:620px;font-size:20px;color:#dcebdc}.ball{font-size:min(28vw,330px);filter:drop-shadow(0 20px 30px #0008);transform:rotate(-14deg)}
.tag{font-size:12px;font-weight:900;letter-spacing:2px;color:#83c923}.button{display:inline-flex;border:0;border-radius:9px;padding:13px 18px;background:var(--lime);color:#15210d;font-weight:900;cursor:pointer;justify-content:center}.small{padding:9px 13px}.ghost{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 13px;cursor:pointer;font-weight:700}
main{max-width:1400px;margin:auto;padding:56px max(4vw,20px)}.section-title,.welcome{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-title h2,.welcome h1{margin:5px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.game-card,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 26px #1835170a}.game-card{position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--lime)}.game-card h3{margin:14px 0 4px;font-size:20px}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.team-name{font-size:13px;font-weight:800;color:var(--green);margin-bottom:14px}.game-facts{display:grid;gap:8px;color:var(--muted);font-size:13px;margin-bottom:16px}.game-card .button{width:100%}.spots{display:inline-block;background:#e9f9bc;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}.distance{font-size:12px;color:var(--muted)}
.how{margin-top:80px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps article{padding:28px;background:#eaf4df;border-radius:14px}.steps b{font-size:34px;color:var(--green)}footer{text-align:center;padding:35px;color:var(--muted)}
.auth-wrap{min-height:70vh;display:grid;place-items:center}.auth-wrap .panel{width:min(440px,100%)}.tabs{display:flex;margin-bottom:18px}.tab{flex:1;padding:10px;border:0;background:#edf0ea;cursor:pointer}.tab.active{background:var(--green);color:#fff}.hidden{display:none!important}
form{display:grid;gap:13px}label{display:grid;gap:6px;font-size:13px;font-weight:800}input,select,textarea{width:100%;padding:11px;border:1px solid #ccd5c8;border-radius:8px;background:#fff;font:inherit}textarea{min-height:75px;resize:vertical}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.message{color:var(--danger)}
.dashboard{max-width:1600px}.dashboard-grid{display:grid;grid-template-columns:280px minmax(400px,1fr) 320px;gap:18px;align-items:start}.dashboard-grid>div,.dashboard-grid>aside{display:grid;gap:18px}.panel h2{font-size:18px;margin-top:0}.panel hr{border:0;border-top:1px solid var(--line);margin:10px 0}.compact{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.notification,.request{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.muted{color:var(--muted);font-size:13px}.availability-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:5px;margin:6px 0}.danger{color:var(--danger);border:0;background:transparent;cursor:pointer}.action-panel{border-top:4px solid var(--green)}.center{text-align:center}
.live-dot{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-weight:900;font-size:11px;letter-spacing:1px}.live-dot:before{content:"";width:8px;height:8px;background:#28b76b;border-radius:50%;box-shadow:0 0 0 5px #28b76b22}.empty-state{grid-column:1/-1;padding:34px;text-align:center;background:#f7f9f5;border:1px dashed #c8d2c3;border-radius:12px;color:var(--muted)}
fieldset{border:0;padding:0;margin:0}legend{font-size:13px;font-weight:800;margin-bottom:7px}.player-count{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.count{border:1px solid #cad6c5;background:#fff;border-radius:8px;padding:9px 2px;font-weight:800;cursor:pointer}.count.active{background:var(--deep);color:#fff;border-color:var(--deep)}
.received-request{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.received-request h3{margin:7px 0 3px}.received-request p{margin:0;line-height:1.5}.request-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.call-button,.accept-request,.decline-request{border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff;font-weight:800;font-size:13px;cursor:pointer}.call-button{background:var(--deep);color:#fff;border-color:var(--deep)}.accept-request{background:var(--lime)}.decline-request{color:var(--danger)}.request-status{text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:1px;color:#9a6700}.request-status.accepted{color:var(--green)}.request-status.declined{color:var(--danger)}
#toast{position:fixed;right:20px;bottom:20px;background:#10150f;color:#fff;padding:13px 18px;border-radius:9px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:1001}#toast.show{opacity:1;transform:none}.dialog{position:fixed;inset:0;background:#07140dbb;display:grid;place-items:center;padding:20px;z-index:1000}.dialog-card{width:min(470px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 30px 80px #0005;position:relative}.dialog-card h2{font-size:30px;margin:8px 0}.dialog-close{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:26px;cursor:pointer}.consent{background:#f1f7e8;padding:12px;border-radius:9px;font-weight:700}
@media(max-width:1050px){.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid>aside:first-child{grid-row:2;grid-column:1/-1}.ball{display:none}.steps{grid-template-columns:1fr}}
@media(max-width:700px){nav a:not(.brand),nav .button{display:none}.hero{min-height:480px}.hero h1{letter-spacing:-2px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>aside:first-child{grid-row:auto;grid-column:auto}.section-title{align-items:stretch;flex-direction:column}.availability-row{grid-template-columns:1fr 1fr}.availability-row select{grid-column:1/-1}.received-request{display:grid}.request-actions{justify-content:flex-start}.call-button{flex-basis:100%;text-align:center}}

/* Real-time community homepage */
.community-hero{min-height:620px;padding:76px max(6vw,28px);display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;background:linear-gradient(125deg,#062c1b 0%,#0d5632 60%,#147545 100%);color:#fff;overflow:hidden}.hero-copy h1{font-size:clamp(56px,7vw,104px);letter-spacing:-.065em;line-height:.88;margin:22px 0}.hero-copy h1 em{font-style:normal;color:var(--lime)}.hero-copy>p{font-size:19px;line-height:1.6;color:#d9eadf;max-width:650px}.live-pill{display:inline-flex;align-items:center;gap:9px;font-weight:900;font-size:11px;letter-spacing:1.5px;color:var(--lime)}.live-pill i,.live-note span{display:inline-block;width:9px;height:9px;border-radius:50%;background:#94a39a}.live-pill i,.live-note span.connected{background:var(--lime);box-shadow:0 0 0 6px #c7f34b20}.hero-actions{display:flex;gap:12px;margin:30px 0}.outline-button{display:inline-flex;border:1px solid #ffffff70;border-radius:9px;padding:13px 18px;font-weight:900}.live-note{display:flex!important;align-items:center;gap:10px;font-size:12px!important;color:#bcd1c3!important}.hero-board{height:450px;position:relative;border:1px solid #ffffff30;border-radius:28px;background:#ffffff0b;transform:rotate(2deg)}.pitch-lines{position:absolute;inset:24px;border:2px solid #ffffff25;border-radius:4px}.pitch-lines:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #ffffff25}.pitch-lines:after{content:"";position:absolute;left:50%;top:50%;width:120px;height:120px;border:2px solid #ffffff25;border-radius:50%;transform:translate(-50%,-50%)}.ball-mark{position:absolute;font-size:108px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);filter:drop-shadow(0 20px 30px #0006)}.floating-card{position:absolute;background:#fff;color:var(--ink);padding:15px 18px;border-radius:12px;box-shadow:0 16px 40px #001d1055;display:grid;gap:4px;z-index:2}.floating-card span{font-size:12px;color:var(--muted)}.floating-card.one{top:54px;left:-22px}.floating-card.two{right:-22px;bottom:60px}.community-main{max-width:1500px}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:-92px;position:relative;z-index:3;box-shadow:0 16px 40px #163c2412}.stat-strip article{padding:25px;text-align:center;border-right:1px solid var(--line)}.stat-strip article:last-child{border:0}.stat-strip strong{display:block;font-size:36px;letter-spacing:-2px;color:var(--deep)}.stat-strip span{font-size:12px;font-weight:800;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:78px 0 24px}.section-heading h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:5px 0}.section-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2px;color:#4d8b26}.updated-label{font-size:12px;color:var(--green);font-weight:800}.filter-bar{display:grid;grid-template-columns:2fr repeat(3,1fr);padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}.filter-bar label{padding:0 12px;border-right:1px solid var(--line)}.filter-bar label:last-child{border:0}.filter-bar label span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.filter-bar input,.filter-bar select{border:0;padding:6px 0;outline:0}.games-grid{grid-template-columns:repeat(3,1fr)}.countdown{font-size:12px;font-weight:900;color:var(--green);padding:10px 0;border-top:1px solid var(--line)}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:70px}.surface{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.compact-heading{margin:0 0 18px}.compact-heading h2{font-size:28px}.player-list{display:grid}.player-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e6f4d6;color:var(--green);font-weight:900}.player-row div{display:grid;gap:3px}.player-row small{color:var(--muted)}.player-row>span:last-child{font-size:11px;font-weight:800;color:var(--green)}.text-link{display:inline-block;margin-top:20px;color:var(--green);font-weight:900}.activity-surface{background:var(--deep);color:#fff}.live-pill.dark{color:var(--lime)}.activity-feed article{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #ffffff18}.activity-feed article>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#c7f34b20;color:var(--lime)}.activity-feed article div{line-height:1.4}.activity-feed small{display:block;color:#9fb6a7;margin-top:3px}.activity-new{animation:activityIn .5s ease}@keyframes activityIn{from{background:#c7f34b22;transform:translateY(-5px)}to{background:transparent;transform:none}}.completed-section{margin-top:22px}.completed-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.completed-list article{padding:16px;border:1px solid var(--line);border-radius:11px;display:grid;gap:5px}.completed-list span,.completed-list small{color:var(--muted)}.cta-panel{text-align:center;margin-top:78px;padding:76px 20px;border-radius:24px;background:linear-gradient(135deg,#dff59e,#c7f34b)}.cta-panel h2{font-size:clamp(38px,6vw,70px);letter-spacing:-.055em;line-height:.95;margin:14px}.cta-panel .button{background:var(--deep);color:#fff;margin-top:15px}
@media(max-width:950px){.community-hero{grid-template-columns:1fr;min-height:auto}.hero-board{display:none}.stat-strip{margin-top:-70px}.games-grid{grid-template-columns:repeat(2,1fr)}.community-grid{grid-template-columns:1fr}}
@media(max-width:700px){.community-hero{padding:60px 22px 110px}.hero-copy h1{font-size:58px}.hero-actions{display:grid}.hero-actions>*{justify-content:center}.stat-strip{grid-template-columns:1fr 1fr}.stat-strip article:nth-child(2){border-right:0}.stat-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat-strip strong{font-size:28px}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar label{border-bottom:1px solid var(--line)}.filter-bar label:nth-child(2){border-right:0}.filter-bar label:nth-child(n+3){border-bottom:0}.games-grid,.completed-list{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}}
.legal{max-width:820px;background:#fff;margin:48px auto;padding:clamp(24px,5vw,58px);border:1px solid var(--line);border-radius:18px;line-height:1.7}.legal h1{font-size:clamp(38px,6vw,60px);letter-spacing:-.04em;line-height:1}.legal h2{margin-top:32px}.legal a{color:var(--green);text-decoration:underline}.footer-links{display:flex;justify-content:center;gap:20px;margin-top:14px;font-weight:700}.text-button{border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer;padding:8px}
.page-intro{font-size:19px;color:var(--muted);margin-bottom:30px}.faq-page details{border-top:1px solid var(--line);padding:18px 0}.faq-page details:last-of-type{border-bottom:1px solid var(--line)}.faq-page summary{font-size:18px;font-weight:900;cursor:pointer;color:var(--deep);list-style-position:outside;margin-left:18px}.faq-page details p{margin:12px 0 0;color:#465248}.guideline-note{margin-top:38px;padding:18px;border-radius:12px;background:#eef6e9}.guidelines-page h2{color:var(--deep)}
a.call-button[href="tel:"]{display:none}.account-delete{margin-top:14px;padding:10px;border:1px solid #f1b7b2;border-radius:8px;background:#fff7f6}
.activity-feed{max-height:560px;overflow:hidden}.activity-feed article{max-height:100px;opacity:1;transform:translateY(0);transition:max-height .45s ease,opacity .35s ease,transform .45s ease,padding .45s ease}.activity-feed article.ticker-leaving{max-height:0;opacity:0;transform:translateY(-14px);padding-top:0;padding-bottom:0;overflow:hidden}
.new-games-button{display:block;width:100%;margin:0 0 18px;padding:13px 18px;border:1px solid #98bc45;border-radius:12px;background:#eef9cc;color:var(--deep);font-weight:900;cursor:pointer}.games-actions{display:flex;justify-content:center;margin-top:22px}.games-actions button{min-width:190px}.ticker-control,.carousel-controls button{border:1px solid #ffffff38;border-radius:8px;background:transparent;color:inherit;padding:8px 11px;font-weight:850;cursor:pointer}.carousel-controls{display:flex;align-items:center;gap:8px}.completed-section{overflow:hidden}.completed-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-inline:contain;padding:2px 0 12px}.completed-list{display:flex;gap:14px;width:max-content}.completed-list article{width:clamp(230px,27vw,340px);min-height:112px;scroll-snap-align:start}.completed-list>p{width:min(680px,80vw)}
@media(max-width:700px){.filter-bar{position:static;z-index:auto;box-shadow:0 8px 22px #173b2010}.games-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:3px 10vw 14px 1px;gap:14px}.games-grid .game-card{flex:0 0 88%;scroll-snap-align:start}.games-grid .empty-state{flex:0 0 100%}.completed-list article{width:82vw}.carousel-controls{width:100%;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.activity-feed article,.activity-new{animation:none!important;transition:none!important;scroll-behavior:auto!important}.completed-viewport,.games-grid{scroll-behavior:auto}}
.future-ad-slot{min-height:150px;margin:64px auto 0;border:1px dashed #a8b6a9;border-radius:18px;background:linear-gradient(135deg,#f8faf5,#eef4e8);display:grid;place-content:center;text-align:center;color:#7a897d}.future-ad-slot span{font-size:10px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.future-ad-slot p{margin:7px 0 0;font-size:14px}.future-ad-slot+ .community-grid{margin-top:24px}

/* Simple signed-in experience */
.dash-body{background:#f3f6ef}.dash-topbar{position:sticky;top:0;z-index:20}.dashboard-shell{max-width:1280px;padding-top:38px}.auth-card{border-top:5px solid var(--lime)}.auth-card h1{font-size:42px;letter-spacing:-.04em;margin:10px 0}.dash-welcome{display:flex;justify-content:space-between;align-items:end;padding:28px 32px;border-radius:20px;background:linear-gradient(120deg,var(--deep),#137044);color:#fff}.dash-welcome h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.05em;margin:7px 0}.dash-welcome p{margin:0;color:#cce0d2}.quick-status{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800}.quick-status i{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px #c7f34b22}.dashboard-nav{height:auto;margin:18px 0 32px;padding:7px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;justify-content:flex-start;gap:5px;overflow:auto}.dashboard-tab{white-space:nowrap;border:0;background:transparent;border-radius:9px;padding:12px 17px;font-weight:850;color:var(--muted);cursor:pointer}.dashboard-tab.active{background:var(--deep);color:#fff}.view-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.view-heading h2{font-size:clamp(34px,5vw,54px);letter-spacing:-.05em;line-height:1;margin:7px 0}.view-heading p{color:var(--muted);margin:0}.simple-search{width:min(310px,100%);padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:12px}.simple-search input{border:0;padding:6px 0}.clean-games{grid-template-columns:repeat(3,1fr)}.post-flow{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:20px;align-items:start}.flow-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.primary-flow{border-top:5px solid var(--lime);box-shadow:0 18px 45px #123b2010}.flow-number{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--deep);color:#fff;font-weight:900;margin-bottom:16px}.flow-card h2{font-size:27px;margin:4px 0}.outline-green{border:1px solid var(--green);border-radius:9px;padding:12px;background:#fff;color:var(--green);font-weight:900;cursor:pointer}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flow-card details{border:1px solid var(--line);border-radius:10px;padding:12px}.flow-card summary{font-weight:850;cursor:pointer}.details-fields{display:grid;gap:12px;margin-top:14px}.publish-button{font-size:16px;padding:16px}.activity-columns{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px;align-items:start}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px}.verification-note{display:flex;align-items:center;gap:14px;margin:-10px 18px 22px;padding:14px 18px;background:#fff8d9;border:1px solid #edda81;border-radius:0 0 12px 12px}.verification-note span{color:#6d621e;font-size:13px}.admin-counters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.admin-counters article{background:var(--deep);color:#fff;padding:18px;border-radius:12px}.admin-counters strong{display:block;font-size:30px}.admin-counters span{font-size:11px;color:#bdd3c3}.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}.admin-list{max-height:520px;overflow:auto}.admin-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-list article>div{display:grid;gap:3px}.admin-list small{color:var(--muted)}.admin-list select{width:auto;padding:7px}.admin-badge{font-size:10px;font-weight:900;color:var(--green);background:#e8f8ba;padding:5px 8px;border-radius:99px}
@media(max-width:1000px){.clean-games{grid-template-columns:repeat(2,1fr)}.activity-columns{grid-template-columns:1fr 1fr}.activity-columns>.panel:first-child{grid-column:1/-1}.admin-counters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.dashboard-shell{padding:20px 14px}.dash-welcome{padding:24px;display:block}.quick-status{margin-top:18px}.dashboard-nav{margin-inline:-4px}.view-heading{align-items:stretch;flex-direction:column}.clean-games,.post-flow,.activity-columns,.settings-grid,.admin-grid{grid-template-columns:1fr}.activity-columns>.panel:first-child{grid-column:auto}.form-pair{grid-template-columns:1fr}.admin-counters{grid-template-columns:1fr 1fr}.verification-note{align-items:flex-start;flex-direction:column}.dash-topbar{padding-inline:16px}}

/* Mobile-first interaction and device safety */
@media(max-width:720px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  input:not([type="checkbox"]):not([type="hidden"]),select,textarea,button,.button,.ghost,.outline-button,.outline-green{min-height:44px;font-size:16px}
  .home nav{height:64px}.home nav .brand{display:flex;align-items:center;min-height:44px}
  .filter-bar input,.filter-bar select{min-height:44px;padding:8px 0}.filter-bar label{padding:7px 10px}
  .text-link,.footer-links a{display:inline-flex;align-items:center;min-height:44px}
  .footer-links{flex-wrap:wrap;gap:4px 18px}
  .dash-body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .dashboard-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;margin:0;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:16px 16px 0 0;box-shadow:0 -10px 30px #0b2d1a18;background:#fff;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .dashboard-nav::-webkit-scrollbar{display:none}.dashboard-tab{min-width:102px;min-height:52px;padding:8px 10px;font-size:12px;white-space:normal;line-height:1.2}
  .dash-topbar{height:64px}.dash-topbar .brand{font-size:17px}.dash-topbar .ghost{padding:8px 10px}
  .dash-welcome h1{font-size:38px}.view-heading h2{font-size:36px}.view-heading{margin-bottom:18px}
  .flow-card,.panel{padding:18px}.player-count{grid-template-columns:repeat(5,minmax(0,1fr))}.count{min-width:0}
  .flow-card summary{display:flex;align-items:center;min-height:44px}
  .dialog{align-items:end;padding:0}.dialog-card{width:100%;max-height:92vh;overflow:auto;border-radius:20px 20px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.dialog-close{width:44px;height:44px;right:8px;top:8px}
  .received-request,.admin-list article{align-items:stretch}.request-actions{display:grid;grid-template-columns:1fr 1fr}.request-actions .call-button{grid-column:1/-1;min-height:44px;display:flex;align-items:center;justify-content:center}.admin-list article{flex-direction:column}.admin-list select,.admin-list button{width:100%}
  .availability-row{grid-template-columns:1fr 1fr auto}.availability-row select{grid-column:1/-1}.availability-row .danger{min-width:44px}
}
@media(max-width:380px){.hero-copy h1{font-size:50px}.stat-strip article{padding:18px 10px}.stat-strip strong{font-size:25px}.dashboard-tab{min-width:94px}.admin-counters{grid-template-columns:1fr}.player-count{grid-template-columns:repeat(5,minmax(42px,1fr));overflow-x:auto}}
@media(min-width:721px) and (max-width:1100px){input,select,textarea,button,.button,.ghost{min-height:42px}.dashboard-shell{padding-inline:28px}.post-flow{grid-template-columns:.8fr 1.2fr}.clean-games{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Organiser state */
.game-card.is-organiser{border-top:3px solid var(--green)}
.organiser-badge{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:9px;background:#eaf7c8;color:var(--deep);font-size:13px;font-weight:900}

/* Reserved for a future sponsor programme; hidden until enabled. */
.future-ad-slot[hidden]{display:none!important}

/* Lightweight animated community match in the homepage hero. */
.hero-board{isolation:isolate;overflow:hidden}.hero-board::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 35%,#002d1b24);pointer-events:none}.goal{position:absolute;top:36%;width:8%;height:28%;border:3px solid #ffffffaa;z-index:1}.goal::after{content:"";position:absolute;inset:3px;background:repeating-linear-gradient(45deg,#ffffff30 0 1px,transparent 1px 7px),repeating-linear-gradient(-45deg,#ffffff24 0 1px,transparent 1px 7px)}.goal-left{left:3%;border-left-width:6px}.goal-right{right:3%;border-right-width:6px}.pitch-player{--kit:var(--lime);position:absolute;width:38px;height:64px;z-index:3;filter:drop-shadow(0 8px 7px #001b1055);animation:playerRun 1.1s ease-in-out infinite alternate}.pitch-player i{position:absolute;top:0;left:12px;width:14px;height:14px;border-radius:50%;background:#c9916a;box-shadow:0 0 0 2px #ffffff26}.pitch-player b{position:absolute;top:15px;left:8px;width:22px;height:27px;border-radius:8px 8px 5px 5px;background:var(--kit);border-bottom:7px solid #f6f6f6}.pitch-player::before,.pitch-player::after{content:"";position:absolute;top:38px;width:6px;height:25px;border-radius:5px;background:#15291d;transform-origin:top}.pitch-player::before{left:11px;transform:rotate(12deg)}.pitch-player::after{right:11px;transform:rotate(-12deg)}.kit-blue{--kit:#53a7ff}.kit-coral{--kit:#ff786b}.kit-gold{--kit:#ffd45b}.kit-purple{--kit:#a987ff}.player-one{left:27%;top:57%}.player-two{left:39%;top:27%;animation-delay:-.4s}.player-three{left:56%;top:56%;animation-delay:-.75s}.player-four{left:69%;top:28%;animation-delay:-.2s}.player-five{right:8%;top:43%;--kit:#ffae35;animation:goalkeeperMove 1.8s ease-in-out infinite alternate}.player-six{left:7%;top:43%;animation:goalkeeperMove 1.8s ease-in-out infinite alternate-reverse}.goalkeeper::before{left:5px;top:27px;transform:rotate(72deg);height:28px}.goalkeeper::after{right:5px;top:27px;transform:rotate(-72deg);height:28px}.match-ball{position:absolute;left:31%;top:66%;z-index:4;font-size:25px;line-height:1;filter:drop-shadow(0 6px 5px #001b1070);animation:ballPass 7s cubic-bezier(.45,.05,.55,.95) infinite}.floating-card{z-index:6}@keyframes playerRun{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}@keyframes goalkeeperMove{from{transform:translateY(-5px) rotate(-3deg)}to{transform:translateY(5px) rotate(3deg)}}@keyframes ballPass{0%,100%{left:31%;top:66%;transform:rotate(0) scale(1)}24%{left:42%;top:35%;transform:rotate(300deg) scale(.9)}49%{left:59%;top:61%;transform:rotate(620deg) scale(1)}74%{left:70%;top:36%;transform:rotate(940deg) scale(.9)}}
@media(max-width:950px){.hero-board{display:block;height:300px;margin-top:8px;transform:none}.hero-board .floating-card{display:none}.pitch-player,.match-ball{animation:none}.player-one{left:24%;top:58%}.player-two{left:39%;top:27%}.player-three{left:56%;top:58%}.player-four{left:69%;top:28%}}
@media(max-width:540px){.hero-board{height:240px;border-radius:18px}.pitch-lines{inset:14px}.pitch-lines::after{width:72px;height:72px}.goal{height:25%;top:38%}.pitch-player{transform:scale(.78);transform-origin:center}.player-two,.player-four{display:none}.match-ball{left:43%;top:57%;font-size:21px}.player-five{right:5%;top:41%}.player-six{left:4%;top:41%}}
@media(prefers-reduced-motion:reduce){.pitch-player,.match-ball{animation:none!important}}

/* Two-sided shooting loop: each goalkeeper reacts and saves in turn. */
.match-ball{animation:goalToGoal 12s cubic-bezier(.42,0,.58,1) infinite}.player-five{animation:rightKeeperSave 12s ease-in-out infinite}.player-six{animation:leftKeeperSave 12s ease-in-out infinite}
@keyframes goalToGoal{0%{left:31%;top:66%;transform:rotate(0) scale(1)}10%{left:39%;top:58%;transform:rotate(160deg) scale(.96)}22%{left:84%;top:49%;transform:rotate(720deg) scale(.88)}26%{left:78%;top:38%;transform:rotate(860deg) scale(.92)}40%{left:61%;top:32%;transform:rotate(1080deg) scale(1)}50%{left:69%;top:36%;transform:rotate(1220deg) scale(1)}62%{left:16%;top:49%;transform:rotate(1840deg) scale(.88)}66%{left:22%;top:38%;transform:rotate(1980deg) scale(.92)}82%{left:39%;top:59%;transform:rotate(2240deg) scale(1)}100%{left:31%;top:66%;transform:rotate(2520deg) scale(1)}}
@keyframes rightKeeperSave{0%,15%,34%,100%{transform:translate(0,0) rotate(0)}21%{transform:translate(-9px,-13px) rotate(-34deg)}25%{transform:translate(-13px,-5px) rotate(-48deg)}29%{transform:translate(-4px,2px) rotate(-12deg)}}
@keyframes leftKeeperSave{0%,54%,72%,100%{transform:translate(0,0) rotate(0)}61%{transform:translate(9px,-13px) rotate(34deg)}65%{transform:translate(13px,-5px) rotate(48deg)}69%{transform:translate(4px,2px) rotate(12deg)}}
@media(max-width:950px){.match-ball,.player-five,.player-six{animation:none!important}}
@media(prefers-reduced-motion:reduce){.match-ball,.player-five,.player-six{animation:none!important}}
.contact-help{margin:-4px 0 2px;padding:10px 12px;border-radius:9px;background:#f1f7e8;font-size:12px;line-height:1.45}.request-contact{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.request-contact .call-button{display:flex;justify-content:center;align-items:center;min-height:42px}.request-contact small{font-weight:800;color:var(--muted)}
@media(max-width:720px){#joinForm select,#joinForm input{width:100%}.request-contact .call-button{width:100%}}

/* Make the hero read as two coordinated 3-a-side teams. */
.player-one,.player-two{--kit:#53a7ff}.player-six{--kit:#2169b1}.player-three,.player-four{--kit:#ff786b}.player-five{--kit:#d94d43}.match-ball{animation:threeVThreePlay 14s cubic-bezier(.42,0,.58,1) infinite}.player-five{animation:rightTeamSave 14s ease-in-out infinite}.player-six{animation:leftTeamSave 14s ease-in-out infinite}
@keyframes threeVThreePlay{0%{left:27%;top:64%;transform:rotate(0) scale(1)}10%{left:39%;top:34%;transform:rotate(240deg) scale(.96)}20%{left:29%;top:62%;transform:rotate(480deg) scale(1)}31%{left:49%;top:48%;transform:rotate(800deg) scale(.94)}41%{left:68%;top:35%;transform:rotate(1100deg) scale(1)}51%{left:57%;top:61%;transform:rotate(1340deg) scale(1)}62%{left:84%;top:49%;transform:rotate(1840deg) scale(.88)}66%{left:77%;top:39%;transform:rotate(1980deg) scale(.92)}73%{left:57%;top:60%;transform:rotate(2220deg) scale(1)}82%{left:39%;top:34%;transform:rotate(2520deg) scale(.96)}91%{left:16%;top:49%;transform:rotate(3020deg) scale(.88)}95%{left:23%;top:39%;transform:rotate(3160deg) scale(.92)}100%{left:27%;top:64%;transform:rotate(3360deg) scale(1)}}
@keyframes rightTeamSave{0%,55%,71%,100%{transform:translate(0,0) rotate(0)}61%{transform:translate(-9px,-13px) rotate(-34deg)}65%{transform:translate(-13px,-5px) rotate(-48deg)}68%{transform:translate(-4px,2px) rotate(-12deg)}}
@keyframes leftTeamSave{0%,85%,100%{transform:translate(0,0) rotate(0)}90%{transform:translate(9px,-13px) rotate(34deg)}94%{transform:translate(13px,-5px) rotate(48deg)}97%{transform:translate(4px,2px) rotate(12deg)}}

/* Friendly football motion on login and registration. */
.auth-football-scene{position:relative;height:92px;margin:-4px -4px 18px;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#0b5d37,#16834d)}.auth-football-scene::before{content:"";position:absolute;inset:10px;border:1px solid #ffffff55;border-radius:7px}.auth-football-scene::after{content:"";position:absolute;left:50%;top:10px;bottom:10px;border-left:1px solid #ffffff45}.auth-goal{position:absolute;right:10px;top:27px;width:22px;height:38px;border:2px solid #fff9;border-right-width:4px}.auth-player{position:absolute;bottom:17px;width:18px;height:43px;z-index:2;animation:authPlayerMove 1.4s ease-in-out infinite alternate}.auth-player-one{left:17%}.auth-player-two{right:25%;animation-delay:-.7s}.auth-player i{position:absolute;left:5px;width:9px;height:9px;border-radius:50%;background:#d49a73}.auth-player b{position:absolute;left:2px;top:10px;width:15px;height:18px;border-radius:5px;background:var(--lime);border-bottom:5px solid #fff}.auth-player-two b{background:#53a7ff}.auth-player::before,.auth-player::after{content:"";position:absolute;top:28px;width:4px;height:14px;border-radius:4px;background:#10271b}.auth-player::before{left:4px;transform:rotate(10deg)}.auth-player::after{right:4px;transform:rotate(-10deg)}.auth-ball{position:absolute;left:34%;top:48px;z-index:3;font-size:18px;animation:authPass 3.2s ease-in-out infinite}.auth-card.register-mode .auth-ball{animation:authCelebrate 1.7s ease-in-out infinite}.auth-card.register-mode .auth-football-scene{background:linear-gradient(135deg,#0b5d37,#4d8b26)}
@keyframes authPlayerMove{from{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes authPass{0%,100%{left:27%;top:49px;transform:rotate(0)}50%{left:67%;top:42px;transform:rotate(420deg)}}@keyframes authCelebrate{0%,100%{left:43%;top:50px;transform:translateY(0) rotate(0) scale(1)}45%{left:47%;top:18px;transform:translateY(-6px) rotate(360deg) scale(1.15)}70%{left:51%;top:42px;transform:rotate(620deg) scale(.95)}}
@media(max-width:950px){.match-ball,.player-five,.player-six{animation:none!important}}@media(prefers-reduced-motion:reduce){.match-ball,.player-five,.player-six,.auth-player,.auth-ball{animation:none!important}}

/* Clear, touch-friendly authentication and request feedback. */
button:disabled,.button:disabled,.outline-green:disabled,.ghost:disabled{cursor:not-allowed;opacity:.65;filter:saturate(.6)}
.auth-recovery{margin-top:8px}.auth-recovery h2{margin:12px 0 6px}.auth-recovery .back-to-login{margin-bottom:8px}.forgot-link{margin-top:12px;width:100%;text-align:center}.request-sent{background:#eef4e8;color:#315d40}
@media(max-width:720px){.auth-wrap{align-items:start;padding-top:24px}.auth-card{width:100%;padding:22px 18px}.auth-card .tabs{display:grid;grid-template-columns:1fr 1fr}.auth-recovery form{display:grid;gap:14px}.auth-recovery .button{width:100%}}
.game-description{display:-webkit-box;min-height:40px;margin:0 0 14px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);font-size:13px;line-height:20px}.word-count{display:block;margin-top:5px;text-align:right;font-size:12px}.word-count.limit-reached{color:#b42318;font-weight:800}

