/* Shared Turf Soccer visual language, based on the supplied partner panel. */
:root{--ink:#171e2d;--muted:#7a8497;--line:#e4e7ed;--green:#18864b;--blue:#18864b;--gold:#ecf8f0;--red:#db303c;--surface:#f8f9fb;--paper:#f8f9fb;--radius:12px;color-scheme:light}
body{background:var(--surface);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}h1,h2,h3{letter-spacing:-.035em}button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}
body:not(:has(.admin-shell)) header{max-width:none;padding:19px max(24px,calc((100vw - 1160px)/2));background:#202221;border-bottom:1px solid #303331;color:#fff}
body:not(:has(.admin-shell)) header .brand{color:#fff;text-transform:none;font-size:19px;letter-spacing:-.03em}
body:not(:has(.admin-shell)) header nav{font-size:14px;font-weight:500}
body:not(:has(.admin-shell)) main{max-width:1224px;padding-inline:32px}
.hero{padding:60px 0 48px;gap:64px}.hero h1{font-size:clamp(36px,4.4vw,58px);font-weight:750;line-height:1.08;text-transform:none;letter-spacing:-.045em}.hero h1 em{color:var(--green)}.intro{font-size:17px;line-height:1.65;max-width:500px}.eyebrow{font-weight:600;letter-spacing:.08em;font-size:11px}.art{border-radius:16px;box-shadow:none;border:1px solid var(--line)}.pitch-label{background:#fff;color:var(--muted);font-weight:500;letter-spacing:.03em;font-size:11px}
.button,.register,.secondary{min-height:42px;border-radius:8px;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}.button{padding-inline:20px}.button:hover,.register:hover{background:#126b3b}.heading h2,.contact h2{font-size:28px;font-weight:700}.tag{min-height:30px;background:#e9f6ee;color:#18864b;font-size:12px;font-weight:600;border:1px solid #d9eddf;border-radius:20px}
.filters{gap:4px;padding:4px;background:#eef0f3;width:max-content;max-width:100%;border-radius:9px}.filter{background:transparent;border:0;border-radius:7px;color:#667085;font-weight:500;min-height:34px}.filter[aria-pressed=true]{background:#fff;color:var(--green);box-shadow:0 1px 4px #1c27321a}
.games{max-width:none;gap:20px}.game-group-title{font-size:20px;font-weight:650;margin:22px 0 12px}.game{padding:18px 20px;border:1px solid var(--line);border-bottom:0;background:#fff;border-radius:0;grid-template-columns:104px minmax(0,1fr) 136px;gap:20px}.game:first-of-type{border-radius:12px 12px 0 0}.game:last-child{border:1px solid var(--line);border-radius:0 0 12px 12px}.game:only-of-type{border-radius:12px}.game:hover{background:#fcfefd;border-color:#c8dcd0}.game-thumb{width:104px;height:104px;border-radius:9px;border:0}.game-info h3{font-size:17px;font-weight:650;letter-spacing:-.02em}.game-info .game-location,.game-info .game-address{font-size:13px;line-height:1.5}.game-info .game-price{font-size:15px;font-weight:650;color:var(--ink)}.game-side time{font-size:15px;font-weight:600}.game-side .spots{font-size:12px;color:#667085;background:#f8f9fb;border:1px solid var(--line)}.game-tags span{font-weight:500;background:#f7f8fa;color:#7a8497;border:0}.capacity-progress span.host,.capacity-progress span.confirmed{background:var(--green)}.game-info .capacity-progress{max-width:210px}.game-info .capacity-progress span{height:5px;border-radius:2px}.capacity{margin:28px 0 48px;border-color:var(--line)}.capacity article{background:#fff;padding:24px}.capacity .host{border-top:0}.capacity strong{font-size:18px;font-weight:650}.capacity p,.step p{font-size:14px}.steps{gap:20px;margin-bottom:48px}.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.number{font-size:24px}.step h3{font-size:17px;font-weight:650}.about{background:#fff;color:var(--ink);border:1px solid var(--line);padding:32px;border-radius:12px}.about h2{text-transform:none;font-size:28px}.about p{color:var(--muted);font-size:15px}.loyalty{background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:12px}.contact-form{max-width:720px}.contact-form input,.contact-form textarea,.field input,.field select{border:1px solid var(--line);border-radius:8px;font-size:14px;min-height:44px}.contact-form label,.field span{font-weight:500;font-size:14px}.dialog{border-radius:14px;border-color:var(--line);box-shadow:0 20px 80px #171e2d30}.dialog::backdrop{background:#171e2d66}.dialog h2{font-size:27px;font-weight:700;line-height:1.15}.dialog-close{border-radius:8px;background:#f6f7f9}.detail-meta div,.game-rules,.roster,.account-status{border:1px solid var(--line);background:#fff;border-radius:10px}.detail-meta strong{font-size:16px;font-weight:600}.roster h3{font-size:17px}.host-card{background:#edf8f1;border:1px solid #dcefe3;border-radius:10px}.host-card span{font-weight:500;font-size:11px;letter-spacing:.04em}.host-card strong{font-size:15px;font-weight:600}.account-tab{font-weight:500}.account-tab.active{background:#edf8f1;color:var(--green);border-color:#c4e3cf}footer{font-size:12px;font-weight:400}
@media(max-width:700px){body:not(:has(.admin-shell)) header{padding:16px 20px;gap:14px}body:not(:has(.admin-shell)) main{padding-inline:18px}.hero{padding:32px 0;gap:24px}.hero h1{font-size:38px}.hero .intro{font-size:15px}.hero .art{max-width:none;width:100%}.hero-image{aspect-ratio:16/8}.heading h2,.contact h2{font-size:25px}.game{grid-template-columns:78px minmax(0,1fr) 72px;gap:10px;padding:14px 12px}.game-thumb{width:78px;height:86px}.game-info h3{font-size:14px;line-height:1.35}.game-info .game-location,.game-info .game-address{font-size:11px}.game-info .game-price{font-size:13px}.game-side time{font-size:12px}.game-side .spots{font-size:10px;padding:3px 6px}.game-tags span{font-size:9px;padding:0 5px}.game-host{font-size:11px}.game-group-title{font-size:18px}.game-info .capacity-progress{gap:2px}.intro{font-size:15px}.steps{gap:12px}.step{padding:20px}.about{padding:24px}.dialog{width:calc(100% - 24px)}.filters{width:100%;overflow:auto;flex-wrap:nowrap}.filter{white-space:nowrap;padding-inline:11px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
