/* Additive responsive presentation. Desktop styles remain authoritative at 1024+. */
.mobile-only,.mobile-bottom-nav,.mobile-schedule,.mobile-game-action{display:none}
@media(max-width:1279px){body,.concept-home{min-width:0}.cm-main,.sa-main{min-width:0}}
@media(max-width:1023px){
 :root{--page-gutter:24px;--page-title-size:40px}
 *,*:before,*:after{box-sizing:border-box}
 body,.concept-home,.public-site,.cm-app,.sa-app{min-width:0;width:100%}
 main,section,article,aside,form,fieldset,header,footer,div{min-width:0}
 img{max-width:100%}h1,h2,h3,h4,p,a,button,dd{overflow-wrap:break-word}
 .cm-sidebar,.sa-sidebar,.sidebar{display:none}
 .cm-workspace-main,.sa-workspace{margin-left:0;width:100%;padding-left:0}
 .cm-main,.sa-main,.cm-header,.sa-header{width:calc(100% - 2*var(--page-gutter));margin-inline:auto;max-width:1520px;padding-inline:0}
 .public-site .public-header,.concept-header,.cm-header,.sa-header{position:sticky;top:0;z-index:40;background:#080808;color:#fff;height:64px;min-height:64px;padding-top:env(safe-area-inset-top);border-bottom:1px solid #333}
 .public-header nav,.public-header-actions .public-button,.concept-header>nav,.concept-header-right>button,.concept-logo small,.public-header .language-switch,.concept-header .language-switch{display:none}
 .public-site .public-header{gap:12px}.public-header-actions{margin-left:auto;gap:12px}.public-logo,.concept-header .concept-logo{font-size:32px!important;letter-spacing:-1.5px!important;line-height:1}.concept-logo span,.public-logo sup{font-size:10px}
 .concept-header{width:100%;padding-inline:var(--page-gutter);gap:12px}.concept-header-right{margin-left:auto;gap:8px}
 .mobile-only{display:flex}.mobile-icon{width:44px;min-height:44px;align-items:center;justify-content:center;background:transparent;color:inherit;border:0;padding:10px;flex-shrink:0}
 .mobile-bottom-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:fixed;bottom:0;left:0;right:0;z-index:45;background:#101010;color:#ccc;border-top:1px solid #3a3a3a;padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:2px}
 .mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:none;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 0;min-height:50px;font-size:12px;text-decoration:none;line-height:1.15;text-align:center}
 .mobile-bottom-nav [aria-current=page]{color:var(--graemo-green,#acfa5b)}.mobile-bottom-nav .mobile-create{background:var(--graemo-green,#acfa5b);color:#111}
 body.has-mobile-nav{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 body:has(dialog[open]){overflow:hidden}.mobile-menu{display:grid;gap:4px;padding:20px}.mobile-menu a,.mobile-menu button{display:flex;align-items:center;gap:12px;padding:12px 4px;min-height:48px;background:none;border:0;border-bottom:1px solid #444;color:inherit;text-align:left;font-size:16px;text-decoration:none}
 .mobile-menu .language-switch{position:static;display:flex}.mobile-menu .mobile-languages{display:flex;gap:20px}
 .mobile-filter-bar{display:flex;gap:8px;align-items:center;margin:16px 0}.mobile-filter-bar button{flex:1;min-height:44px;padding:10px;background:#1b1b1b;color:white;border:0}
 .mobile-filter-panel{display:none!important}.mobile-filter-sheet .mobile-filter-panel{display:flex!important;flex-direction:column;gap:16px;margin:0!important;padding:20px!important;border:0;position:static}
 .mobile-filter-sheet .date-filters{display:grid;grid-template-columns:1fr 1fr}.mobile-filter-sheet label,.mobile-filter-sheet select{width:100%}.mobile-filter-sheet .cm-toggle{display:flex}
 .mobile-filter-sheet .mobile-sheet-done{position:sticky;bottom:0;padding:16px;background:#181818}.mobile-sheet-done button{width:100%}
 .mobile-map-toggle{display:flex;position:sticky;top:64px;z-index:20;background:#080808;padding:10px 0;gap:8px}.mobile-map-toggle button{flex:1;min-height:44px;background:#1b1b1b;color:#fff;border:0}.mobile-map-toggle button[aria-pressed=true]{background:var(--graemo-green,#acfa5b);color:#111}
 .editorial-app .split-layout,.editorial-app .courts-layout,.editorial-app .courts-redesign,.personal-top-grid,.editorial-app .profile-layout,.editorial-app .detail-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .mobile-map-layout>aside,.mobile-map-layout>.map-panel{display:none}.mobile-map-layout.map-open>section,.mobile-map-layout.map-open>.venue-grid{display:none}.mobile-map-layout.map-open>aside,.mobile-map-layout.map-open>.map-panel{display:block;position:static;height:auto}
 .context-column,.map-panel,.courts-map{position:static!important;top:auto!important;width:100%!important;max-width:100%;min-width:0!important}
 .map-canvas{height:360px!important}.map-marker{min-width:44px;min-height:44px}.personal-top-grid>aside{grid-row:1}
 .cm-kpis,.sa-kpis,.pay-revenue-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cm-overview-bottom,.ops-desk-bottom,.cm-analytics-grid,.sa-grid,.demand-insights{grid-template-columns:minmax(0,1fr)}
 .cm-courts,.cm-games,.demand-cards,.ops-now-grid,.players-grid,.personal-players{grid-template-columns:repeat(2,minmax(0,1fr))}
 .arrival-hero{gap:24px;grid-template-columns:1fr 1fr}.arrival-copy h1{font-size:52px;letter-spacing:-2px!important}.arrival-photo{min-height:430px}.arrival-search{grid-template-columns:1fr!important;gap:20px!important}.arrival-search .hero-search{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.arrival-search .hero-search .public-button{grid-column:1/-1;margin:0}.arrival-search .hero-search-result{grid-column:1;margin-left:0}
 .public-site.auth-redesign .public-auth,.onboarding-layout{grid-template-columns:1fr}.auth-four,.onboarding-story{display:none}.public-auth-panel{max-width:560px;width:100%;margin:auto}.public-site.auth-redesign .public-auth{padding:32px 0}
 .modal.editorial-modal,.modal.drawer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;inset:0;margin:0;border:0;border-radius:0;padding:0;overflow-y:auto;overscroll-behavior:contain}
 .modal-head{position:sticky;top:0;z-index:5;background:#181818;padding:20px!important}.modal-head h2{font-size:28px!important}.modal-head .icon-button{min-width:44px;min-height:44px}.modal-head p{font-size:14px}
 .modal-form,.cm-drawer,.pay-modal,.demand-detail{padding:20px!important}.form-footer,.cm-form-end{position:sticky;bottom:0;z-index:4;padding:16px 0 calc(16px + env(safe-area-inset-bottom));background:inherit}.modal form{padding-bottom:env(safe-area-inset-bottom)}
 .mobile-sheet.modal{top:auto;height:auto;max-height:90dvh;border-radius:0;bottom:0}.mobile-sheet .modal-head{padding:16px!important}
 .mobile-step-progress{padding:0 20px 16px;color:var(--graemo-green);font-size:14px}.mobile-step-nav{display:flex;gap:12px;position:sticky;bottom:0;background:#181818;padding:16px 0 calc(16px + env(safe-area-inset-bottom));z-index:4}.mobile-step-nav button{flex:1}.mobile-review dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #444}.mobile-review dd{margin:0;text-align:right}
 #create-form.mobile-wizard fieldset[hidden],#create-form.mobile-wizard .form-footer[hidden]{display:none!important}
 .mobile-game-action{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;align-items:center;gap:16px;padding:12px var(--page-gutter) calc(12px + env(safe-area-inset-bottom));background:#111;color:#fff;border-top:1px solid #444}.mobile-game-action>span{flex:1}.mobile-game-action button{min-height:48px;max-width:68%}.has-game-action .mobile-bottom-nav{display:none}
 table.mobile-card-table,table.mobile-card-table tbody,table.mobile-card-table tr,table.mobile-card-table td{display:block;width:100%;min-width:0;white-space:normal}
 table.mobile-card-table thead{display:none}table.mobile-card-table tr{padding:16px;margin:0 0 12px;background:#1b1b1b;color:#eee;border:0}table.mobile-card-table td{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1fr);gap:12px;padding:8px 0!important;border:0!important;text-align:left!important;overflow-wrap:anywhere}table.mobile-card-table td:before{content:attr(data-label);font-size:12px;color:#aaa}table.mobile-card-table td>*{max-width:100%;min-width:0}table.mobile-card-table td button{white-space:normal}table.mobile-card-table td:empty{display:none}
 .cm-table-wrap,.sa-table-wrap,.pay-table-wrap{overflow:visible;min-width:0}.mobile-card-table .cm-row-link{color:inherit}.editorial-app table.mobile-card-table tr{background:#eee;color:#111}.editorial-app table.mobile-card-table td:before{color:#555}
 .cm-schedule-scroll{display:none}.mobile-schedule{display:block}.mobile-schedule-controls{display:flex;gap:8px;margin:16px 0}.mobile-schedule-controls button{flex:1;min-height:44px;border:0;background:#222;color:white}.mobile-schedule-controls [aria-pressed=true]{background:var(--graemo-green);color:#111}.mobile-court-tabs{display:flex;gap:8px;overflow:auto;scroll-snap-type:x mandatory}.mobile-court-tabs button{white-space:nowrap;min-height:44px;padding:12px;background:#222;color:#ddd;border:0;scroll-snap-align:start}.mobile-court-tabs [aria-pressed=true]{color:var(--graemo-green)}
 .mobile-time-group{margin:20px 0}.mobile-time-group>h3{font-size:20px;color:var(--graemo-green);margin:0 0 12px}.mobile-booking{display:grid;width:100%;text-align:left;gap:8px;padding:16px;margin:8px 0;background:#1b1b1b;color:#fff;border:0;border-left:3px solid #888}.mobile-booking.free{border-left-color:var(--graemo-green)}.mobile-booking small{font-size:14px;color:#aaa}.mobile-booking span{display:flex;justify-content:space-between;gap:12px}.mobile-booking b{font-size:16px}
 .timetable,.timetable tbody{display:block;width:100%}.timetable thead{display:none}.timetable tr{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0}.timetable th{width:100%;display:block;text-align:left;padding:0}.timetable td{padding:0;flex:1 0 72px}.timetable .slot{width:100%;height:auto;min-height:48px;display:flex;flex-direction:column;font-size:12px;gap:4px}.timetable .slot:before{content:attr(data-time);font-size:16px}
 .cm-header>div:last-child>span,.ops-staff-switch,.sa-header>span{display:none}.cm-header>div:first-child{flex:1}.cm-header strong{font-size:15px}.cm-header .ops-role{font-size:12px}.cm-page-heading,.sa-page-head{flex-wrap:wrap}.cm-page-heading h1,.sa-main h1{font-size:34px!important}.cm-week{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-hours-form{grid-template-columns:1fr 1fr}.cm-form-grid{grid-template-columns:1fr}
 #toasts{left:16px;right:16px;bottom:calc(94px + env(safe-area-inset-bottom));width:auto}.toast{width:100%;max-width:440px;margin:auto;white-space:normal}
 button,input,select,textarea,a.btn,.public-button,.cm-button{min-height:44px}input,select,textarea{font-size:16px!important;max-width:100%}input[type=checkbox],input[type=radio]{min-height:24px;min-width:24px;width:24px}label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px}
 .btn,.public-button,.cm-button{white-space:normal;line-height:1.35}.icon-button{min-width:44px}a:focus-visible,button:focus-visible{outline:2px solid var(--graemo-green);outline-offset:3px}
}
@media(max-width:767px){
 :root{--page-gutter:16px;--page-title-size:32px;--page-description-size:15px}
 body{font-size:16px}.editorial-main,.personal-main,.cm-main,.sa-main{padding-top:12px}
 .public-site .public-header{height:64px}.public-header .public-back{font-size:12px;gap:6px}.public-header-actions>a{font-size:14px}
 .editorial-app .page-header,.editorial-app .courts-heading,.editorial-app .personal-heading{margin:24px 0;padding:0 0 24px;min-height:0;align-items:flex-start;flex-direction:column;gap:16px}
 .editorial-app .page-header h1,.editorial-app .courts-heading h1,.editorial-app .personal-heading h1{font-size:32px!important;line-height:1.1}.editorial-app .editorial-breadcrumb{font-size:12px;padding-top:10px}.editorial-city{display:none}.personal-day{display:none}
 .public-site h2,.public-feature h2,.public-section-heading h2{font-size:28px!important;line-height:1.15!important;letter-spacing:-.7px!important}.public-site p{font-size:16px;line-height:1.5}
 .arrival-hero{display:flex;flex-direction:column;padding:24px 0;gap:24px}.arrival-copy{padding:0}.arrival-copy .public-eyebrow{margin:12px 0 24px;font-size:12px}.arrival-copy h1{font-size:46px!important;line-height:1.02;letter-spacing:-2px!important}.arrival-copy>p{font-size:16px;margin:20px 0}.arrival-actions{gap:16px;flex-wrap:wrap;width:100%}.arrival-actions .public-button{min-width:0;width:100%}.arrival-note{margin-top:24px;padding-top:16px}.arrival-note>span{font-size:12px}.arrival-note p{font-size:13px}
 .arrival-search{order:1;margin:0!important;padding:20px!important;width:100%}.arrival-copy{order:0}.arrival-photo{order:2;min-height:320px;width:100%;aspect-ratio:1}.arrival-photo-top,.arrival-photo-bottom{left:20px;right:20px}.arrival-photo-bottom>span{font-size:25px}.arrival-photo-bottom small{display:none}
 .arrival-search .hero-search{display:flex;flex-direction:column;gap:16px;margin-top:0;width:100%}.arrival-search .hero-search label{border:0;border-bottom:1px solid #6c983b;padding:0 0 10px;width:100%;gap:4px}.arrival-search .hero-search select{width:100%}.arrival-search .hero-search .public-button{width:100%;margin:0}.arrival-search .hero-search-result{font-size:13px;margin:0}
 .public-feature,.problem-solution-grid,.problem-explanation,.landing-live-games,.landing-courts-grid,.public-level,.public-three,.public-steps,.concept-game-grid,.public-tonight-grid,.personal-tonight,.personal-players,.editorial-app .players-grid,.venue-grid,.editorial-app .list-layout .game-list,.venue-shared-games .game-list,.concept-context-grid,.concept-intro{grid-template-columns:minmax(0,1fr)!important;gap:24px}
 .public-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.public-feature,.public-how,.public-level,.public-tonight,.problem-solution,.landing-courts,.public-final{padding-top:40px;padding-bottom:40px;margin-top:0}.public-feature-copy{padding:0}.public-player-frame,.complete-demo,.clean-game{padding:20px!important}.public-player-frame .player-card{width:100%;max-width:none}
 .chat-chaos{min-height:330px;padding:20px}.chat-message{font-size:13px!important;padding:10px!important;max-width:65%}.chat-chaos>div{height:240px}.public-steps article{border-left:0!important;border-top:1px solid #aaa;padding:20px 0!important}.public-step-heading strong{font-size:48px}.public-step-heading svg{width:30px;height:30px}.public-steps h3{font-size:22px}
 .network-activity>div{grid-template-columns:1fr 1fr;gap:20px}.network-activity article{border:0;padding:0}.network-activity article>span{font-size:14px}.network-activity strong{font-size:32px}.public-level-score strong{font-size:80px!important}.public-level-stats{display:flex;justify-content:space-between;gap:12px}.public-level-stats strong{font-size:28px}.complete-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}.complete-game .player-slot{min-height:130px}
 .graemo-footer{padding-top:40px}.graemo-footer .footer-columns{grid-template-columns:1fr 1fr;gap:28px 16px}.footer-invitation{grid-column:1/-1}.graemo-footer .footer-wordmark{font-size:24vw;letter-spacing:-.07em}.footer-baseline{flex-wrap:wrap;gap:16px}.footer-baseline nav{gap:20px}.concept-footer{flex-direction:column;align-items:flex-start;gap:20px;padding:28px 0}.concept-footer>div{flex-wrap:wrap;gap:20px}
 .auth-redesign .public-auth-panel h2{font-size:36px!important}.auth-step{margin-bottom:24px}.auth-demo{grid-template-columns:1fr;gap:8px}.auth-demo>span,.auth-demo>p{font-size:12px}.onboarding-layout{padding-top:24px}.onboarding-form{padding:0!important}.onboarding-header{height:64px}.onboarding-options{display:flex;flex-wrap:wrap}.onboarding-options>*{flex:1 0 120px}
 .editorial-app .catalog-game,.public-site .catalog-game{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'time status' 'venue venue' 'level level' 'lineup lineup' 'bottom bottom';padding:20px!important;gap:14px!important;min-height:0}
 .catalog-game .catalog-index{display:none}.catalog-game .game-time{grid-area:time}.catalog-game .game-status{grid-area:status;max-width:112px;font-size:12px}.catalog-game .game-venue{grid-area:venue;border:0!important;padding:0!important}.catalog-game .game-level{grid-area:level;justify-self:start}.catalog-game .landing-lineup{grid-area:lineup;flex-wrap:wrap}.catalog-game .game-bottom{grid-area:bottom;display:flex;flex-wrap:wrap;gap:16px;padding-top:16px}.catalog-game .game-time h3{font-size:28px!important;white-space:normal}.catalog-game .game-time h3 span{font-size:15px!important}.catalog-game .game-venue h4{font-size:20px!important}.catalog-game .game-venue p{font-size:14px}.catalog-game .game-bottom .participants{flex:1 0 100%;min-width:0}.catalog-game .game-price{margin:0;font-size:14px}.catalog-game .game-price strong{font-size:28px}.catalog-game .card-join{margin-left:auto;padding:12px;font-size:14px!important;max-width:65%}.game-status>span{white-space:normal}
 .concept-game{padding:20px!important;min-height:0}.concept-card-number>span{font-size:64px!important}.concept-card-number{margin-bottom:28px}.concept-card-title{font-size:22px!important}.concept-card-meta{font-size:14px}.concept-price{font-size:24px}.personal-profile-strip{flex-wrap:wrap;gap:12px;font-size:14px}.personal-profile-strip button{width:100%;text-align:left}.personal-section-title,.section-heading{flex-wrap:wrap;gap:12px}.personal-section-title h2{font-size:24px}.personal-next{padding:24px}.personal-next h3{font-size:48px}.personal-next h4{font-size:24px}.personal-next .btn{width:100%}
 .editorial-app .courts-redesign .venue-card,.landing-court-list .venue-card{display:block}.venue-image{min-height:180px;height:180px}.venue-card-content{padding:20px!important}.venue-card h3{font-size:22px!important}.venue-bottom{flex-wrap:wrap;gap:16px}.courts-heading h1 span{display:inline}.detail-header{flex-wrap:wrap;gap:16px}.editorial-app .detail-header h1{font-size:36px!important}.venue-subtitle{flex-wrap:wrap;font-size:18px!important}.detail-fit{flex-direction:column;gap:8px}.joined-notice{flex-wrap:wrap}.panel{padding:20px!important}.editorial-app .teams{grid-template-columns:1fr 1fr;gap:12px}.teams>.versus{display:none}.team-slots{grid-template-columns:1fr 1fr;gap:6px}.player-slot{min-width:0;padding:12px 2px!important}.player-slot .avatar{width:44px;height:44px;font-size:16px}.player-slot strong,.player-slot small{font-size:12px;overflow-wrap:anywhere}.player-slot .level-badge{font-size:11px}.player-slot.empty button{width:100%;font-size:12px;white-space:normal}.booking-summary .summary-price{margin-top:16px}.amenities{flex-wrap:wrap}
 .editorial-app .rating-number{font-size:80px}.rating-number span{font-size:14px}.stats-grid{gap:0}.stats-card{padding:16px 10px!important}.stats-card strong{font-size:30px!important}.stats-card>span{font-size:12px}.identity-panel>.avatar{width:100px!important;height:100px!important;font-size:40px!important}.identity-panel h2{font-size:28px!important}.history-row{flex-wrap:wrap}.profile-upcoming{grid-row:3}.form-row,.radio-options{grid-template-columns:1fr}.form-footer{flex-wrap:wrap}.form-footer .btn{width:100%}.form-footer>span{font-size:12px}.cm-login main,.sa-login main{width:100%;padding:24px!important;max-width:100%}.cm-login,.sa-login{min-width:0;padding:16px!important}.cm-login h1,.sa-login h1{font-size:40px!important}
 .cm-courts,.cm-games,.demand-cards,.ops-now-grid,.cm-quick,.cm-drawer-actions,.sa-grid,.cm-analytics-grid{grid-template-columns:1fr!important}.cm-main,.sa-main{padding-bottom:24px}.cm-page-heading h1{font-size:30px!important}.cm-page-heading{margin:20px 0;gap:16px}.cm-heading-actions{flex-wrap:wrap;width:100%}.cm-heading-actions button{flex:1}.cm-section,.sa-panel{padding:20px!important}.cm-kpi,.sa-kpi{padding:16px!important}.cm-kpis strong,.sa-kpis strong{font-size:28px!important}.cm-kpis small,.sa-kpis small{font-size:12px}.cm-section-head{flex-wrap:wrap;gap:12px}.cm-section-head h2{font-size:22px}.ops-right-now{flex-wrap:wrap;gap:20px}.ops-right-now>span{flex:1}.cm-header,.sa-header{gap:8px}.cm-header strong{max-width:180px;display:block}.sa-header input{width:100%;min-width:0}.cm-filters,.sa-toolbar{flex-wrap:wrap}.cm-filter{width:100%}.cm-filter input,.cm-filter select{width:100%}.cm-bars{gap:5px}.cm-bars span{font-size:12px}.cm-drawer dl>div{gap:16px}.cm-hours-form{grid-template-columns:1fr 1fr}.cm-hours-form>strong{grid-column:1/-1}.ops-source-bars>div{grid-template-columns:90px 1fr 70px}.demand-heatmap{grid-template-columns:45px repeat(8,minmax(0,1fr));font-size:10px}.demand-heatmap>*{min-width:0}.sa-tabs{overflow:auto;white-space:nowrap}.sa-tabs>*{flex-shrink:0}.sa-header .sa-search{max-width:55%}.cm-footer{display:flex;flex-direction:column;gap:12px}.sa-header>div{gap:8px}
}
@media(min-width:430px) and (max-width:767px){:root{--page-gutter:20px}}
@media(prefers-reduced-motion:reduce){.public-reveal,.fill-slot,*{animation:none!important;scroll-behavior:auto!important}}

@media(max-width:1023px){.mobile-icon>span{display:none}.mobile-filter-bar>a{flex:1}.results-toolbar .view-toggle{display:none}.mobile-bottom-nav button[hidden]{display:none}}

@media(max-width:1023px){.concept-header .concept-header-right>.mobile-icon{display:flex}.mobile-game-action>span strong{font-size:26px}.mobile-game-action>span span{font-size:12px}.mobile-game-action .pay-button{background:var(--graemo-green);color:#111;padding:12px;border:0;font-size:14px}.mobile-day-controls{display:grid;grid-template-columns:1fr 1fr 1fr;position:sticky;top:64px;z-index:30;background:#080808;gap:8px;padding:12px 0}.mobile-day-controls input{grid-column:1/-1;width:100%;color-scheme:dark;background:#222;color:white;border:0;padding:10px}.mobile-day-controls button{padding:8px;font-size:12px}.pay-actions{position:sticky;bottom:0;background:#181818;padding-bottom:env(safe-area-inset-bottom)}.mobile-game-action button{white-space:normal}}
@media(max-width:1023px){
 .cm-header{flex-wrap:nowrap;width:100%;padding-inline:var(--page-gutter);gap:8px}
 .cm-header>.language-switch,.cm-header>div:nth-child(2){display:none}
 .cm-header>div:first-child{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0}
 .cm-header strong{max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-size:16px}
 .cm-header .ops-role{border:0;margin:0;padding:0;font-size:12px}
 .cm-header .mobile-brand{color:white;font-size:26px;font-weight:700;margin-right:auto;text-decoration:none}
 .cm-legend,.cm-attention-strip,.cm-tabs{flex-wrap:wrap;gap:12px}
 .cm-attention-strip>*{white-space:normal;min-height:44px;max-width:100%}.cm-attention-strip{padding:16px}
 .cm-attention-strip>span:first-child{width:100%}
 .cm-tabs button{white-space:normal;font-size:14px}
 .mobile-menu .ops-staff-switch{display:flex;flex-direction:column;gap:8px;padding-block:16px}
 .mobile-menu .ops-staff-switch select{width:100%}
 .mobile-day-controls [data-owner=date-shift]{font-size:0}.mobile-day-controls [data-owner=date-shift] svg{display:none}.mobile-day-controls [data-owner=date-shift]:before{content:'←';font-size:20px}.mobile-day-controls [data-delta="1"]:before{content:'→'}
 .sa-page-heading{flex-direction:column;align-items:flex-start;gap:16px}.sa-live{max-width:100%}
}
.mobile-public-game{padding-block:40px}.mobile-public-game>h1{font-size:40px;margin:24px 0}.mobile-public-game>p{margin:24px 0}.mobile-public-game>.public-back{display:inline-flex;margin:20px}
@media(max-width:767px){.arrival-note{display:none}.arrival-hero>.arrival-actions{order:2}.arrival-photo{order:3}.mobile-public-game>h1{font-size:32px}.mobile-public-game .public-button{width:100%}.mobile-public-game .public-back{margin:20px 0;min-height:44px;align-items:center}}
@media(max-width:1023px){
 [hidden]{display:none!important}
 .mobile-step-progress{color:#355400;background:#eee;margin:0;padding-top:10px}
 .mobile-step-nav{background:#eee;position:static;padding-bottom:12px}
 .mobile-step-nav .secondary{color:#111;background:#fff;border:1px solid #777}
 .mobile-step-nav button:disabled{opacity:.5}
 .mobile-review{color:#111}.mobile-review h3{font-size:22px}
 .pay-actions{background:#eee;gap:12px;padding-top:12px;flex-wrap:wrap}
 .pay-actions .pay-button:not(.pay-primary){background:#111;color:#fff}
 .mobile-sheet .mobile-menu{background:#181818;color:#fff}
 .mobile-game-action .pay-button{color:#111!important;background:var(--graemo-green)!important}
}
.mobile-load-state{max-width:640px;margin:40px auto;padding:24px;color:#eee}.mobile-load-state>a{display:block;color:var(--graemo-green);margin-bottom:24px}.mobile-skeleton{height:110px;background:#202020;margin-top:16px}.mobile-load-state h1{font-size:28px}
@media(max-width:1023px){.sa-filters{flex-wrap:wrap}.mobile-filter-sheet .sa-filters{display:flex!important;flex-direction:column;gap:16px}.mobile-filter-sheet .sa-filters label{width:100%}.sa-table-scroll{overflow:visible}.mobile-card-table td[colspan]{display:block}.mobile-card-table td[colspan]:before{display:none}.mobile-menu small{font-size:12px;color:#aaa}}
@media(max-width:1023px){
 .mobile-card-table td,.mobile-card-table .cm-row-link{font-size:14px;line-height:1.5}
 .mobile-map-layout.map-open .map-canvas{height:calc(100dvh - 310px)!important;min-height:280px}
 .mobile-map-toggle{scroll-margin-top:64px}
 .footer-columns a,.footer-columns button,.footer-baseline a,.public-back,.back-link,.editorial-breadcrumb>a{min-height:44px;display:inline-flex;align-items:center}
 .cm-drawer .sa-actions,.sa-actions{flex-wrap:wrap}.sa-facts>div{gap:16px;flex-wrap:wrap}.sa-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}
 .demand-card-actions,.demand-card-links,.ops-booking-actions{flex-wrap:wrap}
}
@media(max-width:1023px){button{min-width:44px}.concept-header-right>a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.mobile-filter-sheet{background:#181818!important;color:#eee!important}.mobile-filter-sheet .modal-head{background:#181818!important;color:#eee!important}.mobile-filter-sheet .modal-head h2,.mobile-filter-sheet .icon-button{color:#eee!important}.mobile-filter-sheet select,.mobile-filter-sheet input{color:#eee;background:#222!important;padding:12px!important;border:0}.mobile-filter-sheet .date-filters button{color:#eee;background:#222;border:0}.mobile-filter-sheet .date-filters button.active{background:var(--graemo-green);color:#111}.mobile-filter-sheet .filter-select>svg{display:none}}
@media(max-width:1023px){.profile-layout .profile-upcoming{margin:24px 0}.mobile-header-error{padding:20px}.mobile-bottom-nav svg{flex-shrink:0}.modal [role=alert]{overflow-wrap:anywhere}}

@media(max-width:767px){.onboarding-layout>aside{display:none}.onboarding-panel{padding:24px 16px}.onboarding-panel h2{font-size:32px;line-height:1.1}}
/* Centered, borderless mobile navigation. */
@media(max-width:1023px){
 button[data-mobile=menu].mobile-icon{display:flex;align-items:center;justify-content:center;gap:0;background:transparent;color:#fff;border:0;border-radius:0;box-shadow:none;width:44px;height:44px;padding:10px}
 button[data-mobile=menu].mobile-icon>span{display:none}
 button[data-mobile=menu].mobile-icon svg{width:24px;height:24px;stroke-width:1.7}
 button[data-mobile=menu].mobile-icon:hover{background:var(--gui-menu,#202020)}
 button[data-mobile=menu].mobile-icon:focus-visible{outline:2px solid #acfa5b;outline-offset:3px}
 dialog.mobile-navigation.modal{position:fixed;inset:0;margin:auto;width:calc(100% - 20px);max-width:480px;height:fit-content;max-height:calc(100dvh - 30px);padding:0;border:0;border-radius:var(--gui-menu-radius,12px);background:var(--gui-menu,#202020)!important;color:#fff!important;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px #0008;animation:mobile-menu-enter 240ms cubic-bezier(.2,.8,.2,1) both}
 dialog.mobile-navigation::backdrop{background:#000a;backdrop-filter:blur(6px);animation:mobile-menu-backdrop 240ms ease both}
 .mobile-navigation .modal-head{position:sticky;top:0;z-index:2;background:var(--gui-menu,#202020)!important;color:#fff!important;padding:20px 20px 14px!important;border:0;align-items:center}
 .mobile-navigation .modal-head>div{display:flex;align-items:baseline;gap:12px}
 .mobile-navigation .modal-head h2{font-size:14px!important;font-weight:400;color:#cccccc!important;letter-spacing:0}
 .mobile-navigation .modal-head .tiny-label{font-size:25px;font-weight:750;letter-spacing:-1px;text-transform:none;color:#fff}
 .mobile-navigation .modal-head p{display:none}
 .mobile-navigation .modal-head .icon-button{display:grid;place-items:center;background:transparent!important;color:#fff!important;border:0;border-radius:var(--gui-control-radius,4px);width:44px;height:44px;flex-shrink:0;padding:0}
 .mobile-navigation-body{padding:0 16px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;min-height:0}
 .mobile-navigation-links{display:grid;gap:4px}
 .mobile-navigation-links a{display:flex;gap:14px;align-items:center;padding:10px 12px;border:0;border-radius:var(--gui-control-radius,4px);color:#f5f5f5;font-size:18px;font-weight:500;line-height:1.2;min-height:52px;box-sizing:border-box;text-decoration:none}
 .mobile-navigation-links a>span{flex:1}
 .mobile-nav-symbol{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;color:#d0d0d0}
 .mobile-navigation-links a>svg:last-child{margin-left:auto;width:18px;color:#b5b5b5}
 .mobile-navigation-links a[aria-current=page]{background:var(--gui-accent,#acfa5b);color:#152009}
 .mobile-navigation-links a[aria-current=page] :is(svg,i){color:#152009}
 .mobile-navigation-links a:not([aria-current=page]):hover{background:#2b2b2b}
 .mobile-navigation-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0 0;border:0}
 .mobile-navigation-secondary :is(a,button){display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:52px;height:100%;box-sizing:border-box;padding:12px;color:#eeeeee;background:var(--gui-control,#2c2c2c);border:0;border-radius:var(--gui-control-radius,4px);font:inherit;font-size:14px;text-align:left;text-decoration:none;white-space:normal}
 .mobile-navigation-secondary .mobile-menu-cta{background:var(--gui-accent,#acfa5b);border-color:#acfa5b;color:#152009;justify-content:space-between}
 .mobile-navigation-secondary .mobile-menu-logout{color:#cccccc;background:transparent}
 .mobile-navigation-languages{display:flex;gap:4px;align-items:center;padding:0 4px;color:#cccccc;font-size:13px}
 .mobile-navigation-languages>span{margin-right:auto}
 .mobile-navigation-languages button{background:transparent;color:#dddddd;border:0;border-radius:var(--gui-control-radius,4px);padding:10px 14px;min-height:44px;font-size:13px}
 html[lang=uk] .mobile-navigation-languages [lang=uk],html[lang=en] .mobile-navigation-languages [lang=en]{background:#303030;color:#acfa5b}
 .mobile-navigation-secondary svg{width:20px;height:20px;flex-shrink:0}
 .mobile-navigation .ops-staff-switch{display:grid;gap:8px;margin:0}
 .mobile-navigation .ops-staff-switch select{max-width:100%;width:100%}
 .mobile-navigation :is(a,button):focus-visible{outline:2px solid #acfa5b;outline-offset:2px}
}
@keyframes mobile-menu-enter{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mobile-menu-backdrop{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){dialog.mobile-navigation.modal,dialog.mobile-navigation::backdrop{animation:none!important}}
/* Reverse desktop features must release explicit grid positions on mobile. */
@media(max-width:1023px){
 .public-feature-reverse .public-feature-copy,.public-feature-reverse .public-player-frame{grid-column:auto;grid-row:auto;min-width:0}
 .public-feature>.public-feature-copy{min-width:0}
 .public-feature>.public-player-frame{padding:0!important;width:100%;min-width:0}
 .public-player-frame .player-card{box-sizing:border-box;width:100%;min-width:0;padding:24px}
 .public-player-frame .player-card h3{font-size:28px;line-height:1.15;word-break:normal;overflow-wrap:normal}
 .public-player-frame .player-card-top{min-width:0;gap:16px}
 .public-player-frame .player-card-top .player-level{min-width:0}
}
@media(max-width:1023px){.public-feature-reverse{grid-template-columns:minmax(0,1fr)!important;gap:24px}}
/* Flexible availability, shared by desktop and mobile onboarding. */
.availability-custom{margin-top:16px;border:1px solid #aaa;background:#f5f5f2;color:#151515}
.availability-toggle{display:flex!important;align-items:center;gap:14px;padding:20px;cursor:pointer}
.availability-toggle input{width:20px!important;height:20px;accent-color:#38551c}
.availability-custom:has(.availability-toggle input:checked){border-color:#151515}
.availability-editor{padding:0 20px 24px}
.availability-editor>p{font-size:16px!important;margin:4px 0 14px!important}
.availability-days{display:flex;flex-wrap:wrap;gap:8px}
.availability-days label{position:relative;cursor:pointer}
.availability-days input{position:absolute;opacity:0;width:1px;height:1px}
.availability-days span{display:block;padding:12px;border:1px solid #aaa;font-size:14px}
.availability-days input:checked+span{background:#acfa5b;border-color:#151515}
.availability-days input:focus-visible+span{outline:2px solid #151515;outline-offset:2px}
.availability-extra{display:grid;gap:8px;margin:20px 0;font-size:14px}
.availability-time{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}
.availability-time label{display:grid;gap:8px;font-size:14px;min-width:0}
.availability-editor input[type=date],.availability-editor input[type=time]{display:block;box-sizing:border-box;min-width:0;width:100%;height:48px;padding:10px;border:1px solid #999;background:#fff;color:#151515;font:inherit;border-radius:0}
.availability-editor small{font-size:13px;line-height:1.5;color:#555}
/* Square player avatars and an optional emoji identity. */
body .avatar{border-radius:0!important;overflow:hidden;aspect-ratio:1}
body .player-card-top .avatar{height:auto!important;aspect-ratio:1}
body .identity-panel .avatar{height:auto!important;aspect-ratio:1;max-width:240px}
body .avatar img{width:100%;height:100%;object-fit:cover;border-radius:0}
body .avatar-emoji{font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;line-height:1;font-weight:400}
.avatar-picker{margin:20px 0 26px;color:#171717}
.avatar-picker legend{font-size:14px!important;margin-bottom:12px!important}
.avatar-modes,.avatar-emojis,.avatar-colors{display:flex;flex-wrap:wrap;gap:8px}
.avatar-picker label{position:relative;cursor:pointer}
.avatar-picker input{position:absolute;opacity:0;width:1px;height:1px}
.avatar-picker label>span{display:grid;place-items:center;box-sizing:border-box;min-width:44px;height:44px;border:1px solid #aaa;background:#e0e0dd}
.avatar-modes label>span{padding:0 16px;font-size:14px}
.avatar-emojis label>span{font-size:25px}
.avatar-picker input:checked+span{outline:2px solid #111;outline-offset:1px}
.avatar-modes input:checked+span{background:#acfa5b}
.avatar-picker input:focus-visible+span{outline:3px solid #477528;outline-offset:2px}
.avatar-colors input:checked+span:after{content:'✓';color:#111;font-size:22px}
