/* Shared football theme; enabled by layouts.football. */
body.public-design { background: #f6f8fa; }
body.public-design #app > header { background: #071b29; border-color: #233744; }
body.public-design #app > header > nav > .h-16 { height: 72px; }
body.public-design #app > header > nav > div > div > a > .text-gray-900,
body.public-design #app > header > nav > div > div > a.text-gray-700,
body.public-design #app > header .nav-item,
body.public-design #app > header > nav > div > div > div > button,
body.public-design #app > header .mobile-menu-button { color: #e2eaf0; }
body.public-design #app > header > nav > .border-t { border-color: #233744; }
body.public-design #app > header .nav-item:hover { color: #28e6a7; }
body.public-design #app > header > nav > div > div > a.bg-blue-600 { background: #17df9b; color: #062b23; }
body.public-design #app > header > nav > div > div > a > .bg-blue-800 { background: #103b40; border: 1px solid #23dca0; border-radius: 50%; }
body.public-design #app > footer { background: #071b29; }
.public-design { --design-ink:#0b2130; --design-green:#11d994; background:#f6f8fa; color:var(--design-ink); }
.public-container { max-width:1280px; margin-inline:auto; padding-inline:32px; }
.public-hero { background:linear-gradient(90deg,#071b29 12%,#071b29ed 48%,#071b2966),url('/images/home/stadium-hero.webp') center 27%/cover; color:white; border-bottom:1px solid #264453; }
.public-hero > .public-container { padding-block:36px 38px; }
.public-eyebrow { color:#32e7ac; font-size:11px; letter-spacing:.14em; font-weight:700; text-transform:uppercase; margin-bottom:12px; }
.public-hero h1 { max-width:850px; font-size:clamp(29px,3vw,40px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-wrap:balance; }
.public-hero h1::after { content:''; display:block; width:46px; height:3px; margin-top:17px; background:var(--design-green); }
.public-hero-intro { max-width:720px; color:#d6e2e9; margin-top:14px; line-height:1.65; font-size:14px; }
.public-hero-quiet { background:linear-gradient(110deg,#071b29,#103343); }
.public-hero-stats { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:22px; }
.public-hero-stats > div { display:flex; align-items:center; gap:10px; font-size:13px; }
.public-hero-stats dt { color:#bed0db; }
.public-hero-stats dd { font-weight:700; font-variant-numeric:tabular-nums; color:#34e6ab; }
.public-design #main-content { background:#f6f8fa; }
.public-design #main-content :is(h2,h3) { letter-spacing:-.02em; }
.public-design #main-content :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #0b8e67; outline-offset:3px; }
.public-design #main-content :is(.text-blue-700,.text-blue-600,.text-emerald-600) { color:#087a58; }
.public-design #main-content :is(a,button):is(.bg-blue-700,.bg-blue-600,.bg-emerald-600) { color:#042e23; background:#17df9b; border-color:#17df9b; }
.public-design #main-content :is(a,button):is(.bg-blue-700,.bg-blue-600,.bg-emerald-600):hover { background:#44e8b2; color:#042e23; }
.public-design #main-content :is(.bg-blue-50,.bg-primary-50) { background:#e9faf2; }
.public-design #main-content :is(.border-blue-200,.border-blue-100) { border-color:#c5e9db; }
.public-design #main-content :is(.card,.filter-card) { border-color:#dfe7ed; border-radius:9px; box-shadow:0 2px 6px #0b213003; }
.public-design #main-content :is(.rounded.border,.rounded-lg.border) { border-radius:8px; }
.public-design #main-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { border-radius:6px; }
.public-design #main-content :is(input[type=checkbox],input[type=radio]) { accent-color:#07865e; }
.public-design .public-reading { max-width:1024px; padding-top:32px; padding-bottom:40px; }
.public-design .public-reading > .prose { line-height:1.8; }
.public-design .public-reading > .bg-white { box-shadow:0 3px 14px #0b213003; }
.public-design .public-reading .prose > h2 { border-top:1px solid #e7edf1; padding-top:24px; }
.public-design .public-reading .prose > h2:first-child { border-top:0; padding-top:0; }
.public-design .public-reading details { border-color:#dfe7ed; border-radius:8px; }
.public-design .public-reading details[open] { border-color:#74cbb0; box-shadow:0 2px 12px #0b213006; }
.public-design .public-reading details[open] summary { background:#eefaf5; }
.public-design .public-reading summary { min-height:64px; }
.public-design .public-reading summary h2 { line-height:1.5; }
.public-signup-cta { background:linear-gradient(110deg,#09212f,#103f3b); border:1px solid #265249; border-radius:10px; padding:30px; }
.public-design .public-signup-cta h2 { color:white; }
.public-design .public-signup-cta p { color:#cae1dc; }
.public-design .public-signup-cta a { min-height:44px; }
.public-design .public-join-hero { background:linear-gradient(90deg,#071b29f5,#071b29a8),url('/images/home/stadium-hero.webp') center 30%/cover; }
.public-design .public-join-hero h1 { color:white; }
.public-design .public-join-hero :is(p,span) { color:#d0e1e8; }
.public-design .public-join-hero a.text-blue-700 { color:#43e8b1; }
.public-prediction-nav { padding:12px; border:1px solid #e0e8ed; background:white; border-radius:9px; }
.public-design .public-prediction-nav a { border-radius:6px; font-size:13px; }
.public-design .public-prediction-nav a[aria-current] { box-shadow:0 2px 5px #0f9d6420; }
.public-design .public-prediction-filters { border-radius:9px; border-color:#dfe7ed; box-shadow:0 2px 8px #0b213003; }
.public-prediction-results { border-radius:9px; }
.public-auth-shell { max-width:1040px; margin:40px auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid #dfe7ed; border-radius:12px; overflow:hidden; background:white; box-shadow:0 12px 40px #0a263308; }
.public-auth-aside { padding:48px 36px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(180deg,#071b29b0,#071b29f2),url('/images/home/stadium-hero.webp') 68% center/cover; color:white; }
.public-auth-aside h2 { font-size:34px; line-height:1.15; font-weight:750; margin-bottom:18px; text-wrap:balance; }
.public-auth-aside > p:not(.public-eyebrow) { font-size:14px; color:#c9dce6; line-height:1.75; }
.public-auth-aside a { color:#37e7ab; font-size:13px; font-weight:600; margin-top:25px; line-height:1.6; }
.public-auth-form { min-width:0; padding:36px; }
.public-design .public-auth-form > .border { padding:0; border:0; }
.public-design .public-auth-form input { background:#fbfcfd; }
.public-design .public-auth-form h1 { font-size:28px; }
.public-design .public-auth-form form button[type=submit] { min-height:46px; }
@media(max-width:1100px) { .public-auth-shell { margin-inline:24px; } }
@media(max-width:639px) {
 .public-container { padding-inline:16px; }
 .public-hero > .public-container { padding-block:27px 29px; }
 .public-hero { background-position:center,65% center; }
 .public-hero h1 { font-size:29px; }
 .public-hero-intro { font-size:13px; line-height:1.7; }
 .public-hero-stats { margin-top:18px; gap:12px; }
 .public-hero-stats > div { flex-wrap:wrap; }
 .public-design .public-reading { padding-top:24px; }
 .public-prediction-nav { padding:8px; }
 .public-design .public-prediction-nav a { padding-inline:10px; font-size:12px; }
 .public-auth-shell { display:block; margin:24px 16px; border-radius:9px; }
 .public-auth-aside { display:none; }
 .public-auth-form { padding:26px 20px; }
 .public-signup-cta { padding:24px 18px; }
}
/* Entity pages and the member area use the same visual system. */
.public-design #app > header .nav-item.active::after { background:#17df9b; }
.public-design #app > footer .bg-blue-700 { background:#104b43; border:1px solid #28cc99; border-radius:50%; }
.public-design .design-entity-hero { background:linear-gradient(90deg,#071b29fa,#092433e8 58%,#092433bd),url('/images/home/stadium-hero.webp') center 28%/cover; color:white; border-color:#294553; }
.public-design .design-entity-hero > :is(.max-w-7xl,.max-w-6xl) { padding-top:30px; padding-bottom:30px; }
.public-design .design-entity-hero h1 { font-size:clamp(27px,3vw,38px); font-weight:750; letter-spacing:-.035em; }
.public-design #main-content .design-entity-hero :is(h1,.text-slate-900,.text-gray-900) { color:#f5f9fc; }
.public-design #main-content .design-entity-hero :is(.text-slate-600,.text-slate-500,.text-gray-600,.text-gray-500) { color:#c1d5e0; }
.public-design #main-content .design-entity-hero :is(.text-blue-700,.text-blue-600) { color:#38e8ad; }
.public-design .design-entity-hero :is(div,span,dl).bg-slate-50 { background:#ffffff0b; border-color:#ffffff26; }
.public-design .design-entity-hero dl.bg-slate-200 { background:#ffffff20; border-color:#ffffff26; }
.public-design .design-entity-hero .border-slate-200 { border-color:#ffffff26; }
.public-design #main-content .design-entity-hero :is(input,select,option) { background:#fff; color:#0b2130; border-color:#c4d4dd; }
.public-design .design-entity-hero nav a[aria-current] { color:#3ee9ae; border-color:#22db9c; }
.public-design .design-entity-hero nav a:hover { color:#70f3c9; }
.public-design .design-inset-hero { padding:28px; border-radius:10px; }
.public-design .design-match-hero { background:linear-gradient(90deg,#071b29ee,#092b38d9,#071b29ee),url('/images/home/stadium-hero.webp') center 25%/cover; }
.public-design #main-content .design-match-hero .text-blue-700 { color:#32e4a7; }
.public-design #main-content .design-match-tabs { top:72px; }
.public-design #main-content .design-match-tabs button { min-height:44px; }
.public-design #main-content :is(a,button).border-blue-700 { border-color:#07865e; }
.public-design #main-content :is(a,button):is(.hover\:text-blue-700,.hover\:text-blue-600):hover { color:#07865e; }
.public-design #main-content label:has(input[type=checkbox]:checked) { border-color:#28bd8f; background:#eafaf3; }
@media(min-width:1280px) { .public-design #main-content .design-match-tabs { top:120px; } }
@media(max-width:639px) {
 .public-design .design-entity-hero > :is(.max-w-7xl,.max-w-6xl) { padding-top:24px; padding-bottom:24px; }
 .public-design .design-entity-hero h1 { font-size:28px; }
 .public-design .design-entity-hero .heading-hero { margin-bottom:14px; }
 .public-design .design-entity-hero .text-mobile-body { font-size:14px; }
 .public-design .design-inset-hero { padding:20px; }
 .public-prediction-filters form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .public-prediction-filters form > div { min-width:0; }
 .public-prediction-filters label { font-size:12px; }
 .public-design #main-content .public-prediction-filters :is(input,select) { min-width:0; width:100%; font-size:13px; min-height:44px; padding-inline:9px; }
}
/* Keep native controls and dark crests readable inside navy headers. */
.public-design #main-content .design-entity-hero :is(input,select,option).text-slate-900 { color:#0b2130; background:#fff; }
.public-design .design-entity-hero img.object-contain { background:#fff; padding:7px; border-radius:9px; }
.public-design .design-match-hero img.object-contain { background:#fff; padding:4px; border-radius:8px; }
