/* Shared public surfaces, scoped independently of player and operations layouts. */
html:has(body:is(.public-game-mode,.venue-public-mode)){color-scheme:dark;scrollbar-color:#497856 #061b1a}
body.public-game-mode,body.venue-public-mode{--paper:#061b1a;--ink:#edf9ee;--muted:#aac6b7;--line:#396752;--bs-body-color:#edf9ee;background:radial-gradient(ellipse at 10% 0%,#0c8a5b45,transparent 55%),#061b1a;color:#edf9ee;color-scheme:dark}
body.public-game-mode :is(h1,h2,h3,h4,h5,h6){color:#edf9ee}
body.public-game-mode :is(.brand,.eyebrow,.text-link){color:#d6f082}
body.public-game-mode :is(.hero-eyebrow,.hero h1){color:#edf9ee}
body.public-game-mode :is(.site-header,.nav-links,.site-footer,.stats-strip,.court-card,.panel,.filter-bar,.empty-state,.hero-search,.court-about-details,.court-day-schedule,.venue-join-dropdown,.venue-schedule-dialog,.schedule-popup-header,.schedule-booking-summary,.day-date-picker){background:#102f29;color:#edf9ee;border-color:#396752}
body.public-game-mode :is(.form-control,.form-select,.search-field input,.schedule-popup-close,.schedule-duration-grid button){background-color:#092520;color:#edf9ee;border-color:#487961}
body.public-game-mode :is(input,textarea)::placeholder{color:#91ad9f;opacity:1}
body.public-game-mode :is(.form-label,.search-field label,.court-location,.hint,.form-text,.court-card-body>p,.stat-item div>span,.section-heading>p,.step p,.faq-intro p,.faq-list p,.schedule-selection-hint,.schedule-loading,.schedule-booking-summary p,.schedule-popup-header .eyebrow){color:#aac6b7}
body.public-game-mode :is(.btn-brand,.btn-brand:hover){background:#008c6f;border-color:#27a980;color:#fff}
body.public-game-mode :is(.btn-lime,.btn-lime:hover){background:#d6f082;color:#143827;border-color:#d6f082}
body.public-game-mode :is(.btn-outline-brand,.round-link,.mobile-toggle){background:#102f29;color:#d8ebdf;border-color:#487961}
body.public-game-mode .btn-outline-brand:hover{background:#245441;color:#edf9ee}
body.public-game-mode :is(.pill,.status,.court-card-photo .pill,.day-slot-status){background:#224b3a;color:#d1ebc0;border:1px solid #527258}
body.public-game-mode .day-time-row{background:#102f29;color:#edf9ee;border-color:#497560}
body.public-game-mode .day-time-row.is-time-selected{background:#24553d;border-color:#c5df86}
body.public-game-mode :is(.alert-success,.booking-clock){background:#173b2e;color:#cfeebc;border-color:#497856}
body.public-game-mode :is(.alert-danger,.score-error){background:#422b2b;color:#ffd0c8;border-color:#87564e}
body.public-game-mode .play-cta{background:linear-gradient(125deg,#174d38,#102f29);border:1px solid #396752}
body.public-game-mode .owner-invitation{padding:32px;border:1px solid #396752;border-radius:20px;background:#102f29;display:flex;align-items:center;justify-content:space-between;gap:24px}
body.public-game-mode .owner-invitation h2{font-size:28px}
body.public-game-mode .owner-invitation p{color:#aac6b7;margin:12px 0 0;max-width:650px}
body.public-game-mode .nav-links>a.active:after{background:#d6f082}
body.public-game-mode :is(.hero-search,.search-field){min-width:0}
body.public-game-mode .filter-bar>div{min-width:0}
body.public-game-mode a:focus-visible,body.public-game-mode button:focus-visible{outline-color:#d6f082}
body.venue-public-mode :is(.venue-nav,.venue-facts,.courts-section,.court-card,.booking-dialog,footer){background:#102f29;color:#edf9ee;border-color:#396752}
body.venue-public-mode :is(.court-photo,.court-type,.brand-symbol,.booking-dialog-head button){background:#173b2e;color:#d8ebdf;border-color:#487961}
body.venue-public-mode :is(.intro p,.section-heading>p,.court-copy>p,.court-bottom small,.booking-note,.post-grid p,.post-grid small,.empty,.venue-facts small,footer>span,.booking-dialog-note,.booking-dialog-fallback){color:#aac6b7}
body.venue-public-mode :is(.green,.intro h2 em,.booking-dialog-head small){color:#d6f082}
body.venue-public-mode :is(.court-bottom,.venue-facts>div,.post-grid article){border-color:#396752}
body.venue-public-mode .booking-dialog iframe{background:#061b1a;color-scheme:dark}
body.venue-public-mode .booking-dialog-head h2{color:#edf9ee}
@media(max-width:1100px) and (min-width:768px){body.public-game-mode .nav-links{gap:14px}body.public-game-mode .nav-links>a:not(.btn){font-size:12px}body.public-game-mode .nav-links .btn{padding-inline:14px}}
@media(max-width:600px){body.public-game-mode :is(input,select,textarea){font-size:16px}body.public-game-mode .hero-search{flex-wrap:wrap;padding:14px}body.public-game-mode .hero-search .search-field{flex-basis:100%}body.public-game-mode .hero-search .btn{width:100%}body.public-game-mode .owner-invitation{padding:24px;flex-direction:column;align-items:flex-start}body.public-game-mode .filter-bar{align-items:stretch}body.public-game-mode .court-info-list>div{gap:12px}body.venue-public-mode .venue-brand{min-width:0}body.venue-public-mode .venue-brand strong{overflow-wrap:anywhere}}

body.public-game-mode :is(.contact-info,.faq-list details,.step,.court-info-list,.filter-results,.schedule-popup-body){background-color:#102f29;color:#edf9ee;border-color:#396752}
body.public-game-mode :is(.nav-links a,.faq-list summary,.court-card-body h3,.card-bottom strong,.court-info-list strong,.contact-info h2){color:#edf9ee}
body.public-game-mode :is(.contact-info p,.lead-copy,.court-description,.court-info-list span){color:#aac6b7}
body:is(.public-game-mode,.venue-public-mode) :is(.skip,.skip-link):focus{background:#173b2e;color:#edf9ee}

/* Court availability panels must retain the public dark palette. */
body.public-game-mode .court-live{background:#092520;border-color:#487961;color:#edf9ee}
body.public-game-mode .court-live-copy strong{color:#d6f082}
body.public-game-mode .court-live-copy p{color:#edf9ee}
body.public-game-mode .court-live-copy small{color:#aac6b7}

/* Give each FAQ a padded, separate card and a clear expand control. */
body.public-game-mode .faq-list{display:grid;gap:12px;align-content:start;min-width:0}
body.public-game-mode .faq-list details{border:1px solid #396752;border-radius:16px;overflow:hidden;transition:border-color .2s,background-color .2s}
body.public-game-mode .faq-list summary{padding:22px 24px;gap:20px;min-height:80px;line-height:1.5}
body.public-game-mode .faq-list summary span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#234937;color:#d6f082;font-size:23px;line-height:1}
body.public-game-mode .faq-list details p{padding:0 24px 24px;max-width:none;line-height:1.8;color:#aac6b7}
body.public-game-mode .faq-list details[open]{border-color:#70965b;background:#14382d}
body.public-game-mode .faq-list summary:hover{background:#173b2e}
body.public-game-mode .faq-list summary:focus-visible{outline:2px solid #d6f082;outline-offset:-4px;border-radius:14px}
@media(max-width:600px){body.public-game-mode .faq-list summary{padding:18px;min-height:76px;gap:14px}body.public-game-mode .faq-list details p{padding:0 18px 20px}}

/* Comfortable, consistently sized landing-page instruction cards. */
body.public-game-mode #about .steps>div{display:flex;min-width:0}
body.public-game-mode #about .steps .step{width:100%;height:100%;padding:28px;border:1px solid #396752;border-radius:18px;background:#102f29}
body.public-game-mode #about .step-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
body.public-game-mode #about .step-top>.icon{width:28px;height:28px;color:#d6f082}
body.public-game-mode #about .step-top>span{color:#aac6b7;font-size:30px;line-height:1}
body.public-game-mode #about .step h3{margin:0 0 14px;color:#edf9ee;line-height:1.35}
body.public-game-mode #about .step p{margin:0;max-width:none;color:#aac6b7;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:767px){body.public-game-mode #about .steps .step{padding:24px}body.public-game-mode #about .step-top{margin-bottom:24px}}

/* Public court page: load shared venue layout and bound all court photography. */
body.public-game-mode .public-court-page{max-width:1200px;padding-top:36px}
body.public-game-mode .public-court-page .row>div{min-width:0}
body.public-game-mode .public-court-page .court-detail-photo{width:100%;height:auto;aspect-ratio:16/10;border-radius:20px;overflow:hidden;margin-bottom:24px}
body.public-game-mode .public-court-page .court-detail-photo img{display:block;width:100%;height:100%;object-fit:cover}
body.public-game-mode .public-court-page .page-title{font-size:clamp(28px,3.5vw,40px);line-height:1.15}
body.public-game-mode :is(.venue-owner-heading,.venue-court-picker,.venue-mini-bottom,.venue-updates,.venue-updates .venue-post-tabs){border-color:#396752}
body.public-game-mode :is(.venue-owner-heading>span,.venue-court-category>p,.venue-mini-info>p,.venue-surface,.venue-updates-head>span,.venue-feed-caption>small,.venue-feed-caption details,.venue-feed-caption .venue-post-source,.venue-mini-bottom small,.venue-mini-bottom>span){color:#aac6b7}
body.public-game-mode :is(.venue-owner-heading>strong,.venue-court-category h3,.venue-mini-info h4,.venue-mini-bottom strong,.venue-feed-caption h3){color:#edf9ee}
body.public-game-mode :is(.venue-mini-card,.venue-feed-post.text-only,.venue-feed-post>a){background:#102f29;border:1px solid #396752;color:#edf9ee}
body.public-game-mode .venue-mini-card.is-selected{border-color:#d6f082;box-shadow:0 0 0 1px #d6f082}
body.public-game-mode :is(.venue-count,.venue-court-category h3 span,.venue-selected-facts>span,.player-booking-type){background:#224b3a;border-color:#487961;color:#d1ebc0}
body.public-game-mode .public-court-page .venue-mini-photo{height:auto;aspect-ratio:16/10;width:100%;overflow:hidden}
body.public-game-mode .public-court-page .venue-mini-photo img{width:100%;height:100%;max-width:100%;object-fit:cover;display:block}
body.public-game-mode .court-availability-button.court-availability-highlight{background:#224b3a;border-color:#487961;color:#d6f082;min-height:44px;box-shadow:none}
body.public-game-mode .court-about-details{padding:0 16px;border:1px solid #396752;border-radius:12px;margin-block:14px}
body.public-game-mode .court-about-details summary{padding-block:14px;color:#edf9ee}
body.public-game-mode .court-about-details>p{color:#aac6b7;padding-bottom:12px}
body.public-game-mode .venue-updates{margin-top:40px;padding-top:28px}
body.public-game-mode .venue-updates .venue-post-tabs a{color:#aac6b7;min-height:44px}
body.public-game-mode .venue-updates .venue-post-tabs a.active{color:#d6f082;border-bottom-color:#d6f082}
body.public-game-mode .venue-photo-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:none;align-items:start}
body.public-game-mode .venue-feed-post{background:#102f29;border:1px solid #396752;border-radius:18px;overflow:hidden;padding:0;min-width:0}
body.public-game-mode .venue-feed-post:last-child{padding-bottom:0;border:1px solid #396752}
body.public-game-mode .venue-feed-post>a{border:0;border-radius:0;aspect-ratio:16/10}
body.public-game-mode .venue-feed-post>a>img{width:100%;height:100%;max-height:none;object-fit:contain}
body.public-game-mode .venue-feed-caption,body.public-game-mode .venue-feed-post.text-only .venue-feed-caption{padding:20px}
@media(max-width:767px){body.public-game-mode .public-court-page{padding-top:24px;padding-inline:20px}body.public-game-mode .venue-photo-feed{grid-template-columns:1fr}body.public-game-mode .venue-court-groups.two-court-types{grid-template-columns:1fr}body.public-game-mode .venue-updates-head{flex-wrap:wrap}body.public-game-mode .venue-owner-heading>strong{overflow-wrap:anywhere}}

/* Compact horizontal venue updates: thumbnail alongside the details. */
body.public-game-mode .venue-photo-feed{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
body.public-game-mode .venue-feed-post.has-photo{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start}
body.public-game-mode .venue-feed-post.has-photo>a{width:150px;height:170px;aspect-ratio:auto;border:0;border-radius:0;background:#092520}
body.public-game-mode .venue-feed-post.has-photo>a>img{width:100%;height:100%;object-fit:contain;max-height:none}
body.public-game-mode .venue-feed-post.has-photo .venue-feed-caption{padding:20px;min-width:0}
body.public-game-mode .venue-feed-post.text-only{min-height:170px}
@media(max-width:1000px){body.public-game-mode .venue-photo-feed{grid-template-columns:1fr}}
@media(max-width:480px){body.public-game-mode .venue-feed-post.has-photo{grid-template-columns:105px minmax(0,1fr)}body.public-game-mode .venue-feed-post.has-photo>a{width:105px;height:145px}body.public-game-mode .venue-feed-post.has-photo .venue-feed-caption{padding:14px}body.public-game-mode .venue-feed-caption h3{font-size:15px}body.public-game-mode .venue-feed-post.text-only{min-height:0}}

/* Overview and booking actions first; compact court choices below. */
body.public-game-mode .court-overview{align-items:start;margin-bottom:32px}
body.public-game-mode .public-reserve-card{padding:28px;border:1px solid #487961;border-radius:20px;background:#102f29}
body.public-game-mode .public-reserve-card h2{font-size:26px;line-height:1.2;margin:14px 0 20px}
body.public-game-mode .public-reserve-card p{font-size:13px;line-height:1.8;color:#aac6b7;margin-bottom:20px}
body.public-game-mode .public-reserve-price strong{font-size:32px;color:#d6f082}
body.public-game-mode .public-reserve-price span{display:block;font-size:12px}
body.public-game-mode .public-reserve-card .btn{width:100%;min-height:50px;white-space:normal}
body.public-game-mode .public-reserve-card small{display:block;color:#aac6b7;font-size:11px;line-height:1.7;margin-top:14px}
body.public-game-mode .court-action-column .venue-join-dropdown{margin-top:16px;padding:14px 18px;border-radius:14px}
body.public-game-mode .court-action-column .venue-join-dropdown summary{color:#edf9ee;line-height:1.6;min-height:32px}
body.public-game-mode .public-court-page>.venue-court-picker{padding:28px 0;margin:0}
body.public-game-mode .public-court-page>.venue-court-picker .venue-court-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.public-game-mode .public-court-page>.venue-court-picker .two-court-types .venue-mini-grid{grid-template-columns:1fr}
body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-card{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:stretch}
body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-photo{aspect-ratio:auto;height:100%;min-height:165px;width:140px}
body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-info{padding:18px;min-width:0}
body.public-game-mode .venue-mini-info h4{line-height:1.4;overflow-wrap:anywhere}
@media(max-width:991px){body.public-game-mode .public-court-page>.venue-court-picker .venue-court-groups{grid-template-columns:1fr}body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-grid{grid-template-columns:1fr}}
@media(max-width:480px){body.public-game-mode .public-reserve-card{padding:22px}body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-card{grid-template-columns:105px minmax(0,1fr)}body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-photo{width:105px;min-height:160px}body.public-game-mode .public-court-page>.venue-court-picker .venue-mini-info{padding:14px}}
/* Keep same-category court pairs adjacent on narrow public court pages too. */
body.public-game-mode .public-court-page>.venue-court-picker .venue-court-groups.single-court-type .venue-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
