/* Progressive app controls share the existing editorial colour system. */
.pwa-page,.pwa-install-promo,.pwa-guide-dialog{overflow-wrap:anywhere}
.pwa-page .pwa-page-heading h1{font-family:Golos,Arial,sans-serif!important}
.pwa-privacy p>a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
[data-pwa-promo][hidden],[data-pwa-install][hidden],[data-pwa-install-link][hidden],[data-pwa-mac-guide][hidden],[data-pwa-install-state][hidden],[data-pwa-mac-steps][hidden],[data-pwa-toast][hidden],[data-pwa-share-fallback][hidden]{display:none!important}
.pwa-install-promo{position:fixed;z-index:85;right:24px;bottom:24px;width:min(390px,calc(100% - 32px));padding:23px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;box-shadow:0 12px 36px #0002;color:var(--text)}
.pwa-promo-heading{display:flex;align-items:center;gap:14px}.pwa-promo-heading>img{flex:none;width:48px;height:48px;border-radius:10px}.pwa-promo-heading>div{min-width:0}.pwa-brand-label{font-size:11px;letter-spacing:.04em;color:var(--muted)}.pwa-promo-heading h2{font:650 20px/1.2 Golos,Arial,sans-serif;letter-spacing:-.5px;color:var(--text);margin:4px 0 0}.pwa-install-promo>p{font-size:14px;line-height:1.55;margin:16px 0 19px;color:var(--muted)}.pwa-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pwa-actions .button{min-height:44px;font-size:14px;border-radius:3px;padding:10px 16px}.pwa-text-button{min-height:44px;background:transparent;border:0;color:var(--muted);font:inherit;font-size:14px;padding:10px 15px;cursor:pointer}.pwa-text-button:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}
.pwa-guide-dialog{inset:0;width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);height:fit-content;padding:0;margin:auto;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 60px #0004}.pwa-guide-dialog::backdrop{background:#11181099}.pwa-guide-dialog .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;margin:0;border-bottom:1px solid var(--line)}.pwa-guide-dialog .drawer-heading h2{font:650 22px/1.25 Golos,Arial,sans-serif;letter-spacing:-.5px;color:var(--text);margin:0}.pwa-guide-body{padding:24px;font-size:15px;line-height:1.6}.pwa-guide-body>p:first-child{margin-top:0}.pwa-guide-body>a{display:inline-flex;align-items:center;min-height:44px}
.pwa-steps{padding-left:24px;line-height:1.65;margin:24px 0}.pwa-steps li{padding-left:6px;margin:0 0 16px}.pwa-steps li::marker{color:var(--accent);font-weight:650}
.pwa-page{max-width:1080px;margin:10px auto 60px}.pwa-page-heading{max-width:760px;margin:0 0 44px}.pwa-page-heading h1{font:750 clamp(32px,5vw,60px)/1.07 Golos,Arial,sans-serif;letter-spacing:-.055em;color:var(--ink);margin:0 0 20px;overflow-wrap:anywhere}.pwa-page-heading>p:last-child{font-size:17px;line-height:1.65;margin:0;color:var(--muted)}.pwa-app-identity{display:flex;align-items:center;gap:24px;margin-bottom:28px}.pwa-app-identity>img{flex:none;width:88px;height:88px;border-radius:18px}.pwa-app-identity>div{min-width:0}.pwa-app-identity .eyebrow{margin:0 0 10px;color:var(--muted)}.pwa-app-identity h1{margin:0}
.pwa-install-panel{padding:30px;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface);border-radius:3px;max-width:800px}.pwa-install-panel h2,.pwa-settings-section h2,.pwa-feature-list h2{font:650 25px/1.25 Golos,Arial,sans-serif;color:var(--ink);letter-spacing:-.7px;margin:0 0 16px}.pwa-install-panel p{font-size:15px;line-height:1.65;color:var(--muted);max-width:660px}.pwa-install-panel .button{min-height:46px;margin-top:8px;white-space:normal;line-height:1.45;text-align:center;border-radius:3px}.pwa-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;margin:22px 0 10px;padding:12px 0;color:var(--text);font-size:15px;line-height:1.5;cursor:pointer}.pwa-check input{width:19px;height:19px;flex:none;margin:2px 0 0}.pwa-state-success{display:flex;align-items:center;gap:10px;color:var(--text)!important}.pwa-state-success svg{color:var(--accent)}
.pwa-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:55px}.pwa-feature-list section{border-top:1px solid var(--line);padding-top:19px}.pwa-feature-index{display:block;color:var(--muted);font-size:12px;margin-bottom:24px}.pwa-feature-list h2{font-size:22px}.pwa-feature-list p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.pwa-page-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:44px}.pwa-page-links a{display:flex;align-items:center;min-height:44px;font-size:13px;text-underline-offset:4px}
.pwa-settings-page .pwa-page-heading{margin-bottom:38px}.pwa-settings-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;padding:30px 0;border-top:1px solid var(--line)}.pwa-settings-section>div{min-width:0}.pwa-settings-section h2{font-size:23px;margin-bottom:10px}.pwa-settings-section p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 18px;max-width:460px}.pwa-settings-section .button{min-height:44px;border-radius:3px;font-size:13px;white-space:normal;line-height:1.5}.pwa-settings-section .pwa-setting-note{font-size:12px;margin-top:12px;margin-bottom:0}.pwa-theme-options{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.pwa-theme-options button{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:3px;min-height:48px;padding:12px 17px;font:550 14px/1.5 Golos,Arial,sans-serif;color:var(--text);background:var(--surface);cursor:pointer}.pwa-theme-options button[aria-pressed=true]{border-color:var(--accent);background:var(--soft);box-shadow:inset 0 -2px var(--accent)}.pwa-settings-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px}.pwa-about{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pwa-about a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.pwa-about-identity{display:flex;align-items:center;gap:14px;margin-bottom:15px}.pwa-about-identity img{border-radius:10px;width:48px;height:48px;flex:none}.pwa-about-identity>div{display:flex;flex-direction:column;gap:4px;min-width:0}.pwa-about-identity strong{font-size:16px}.pwa-about-identity span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.pwa-toast{position:fixed;z-index:105;left:50%;bottom:28px;transform:translateX(-50%);max-width:min(520px,calc(100% - 32px));width:max-content;padding:13px 20px;border:1px solid var(--line);border-radius:4px;background:var(--text);color:var(--bg);font-size:14px;line-height:1.5;box-shadow:0 4px 20px #0002;pointer-events:none}.pwa-share-fallback{position:fixed;z-index:106;bottom:24px;left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 24px));padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 8px 30px #0003}.pwa-share-fallback label{font-size:13px;margin-bottom:10px}.pwa-share-fallback>div{display:flex;gap:12px;align-items:center}.pwa-share-fallback input{width:100%;min-width:0;font-size:16px}
.pwa-app-nav{display:none}.pwa-standalone{overscroll-behavior-y:none}.pwa-standalone body{min-height:100vh;min-height:100dvh}.pwa-standalone .topbar{padding-top:env(safe-area-inset-top);height:calc(var(--header-height,72px) + env(safe-area-inset-top))}.pwa-standalone .site-drawer{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.pwa-standalone input,.pwa-standalone textarea,.pwa-standalone select{scroll-margin-top:100px;scroll-margin-bottom:100px}.pwa-standalone [data-pwa-install-link],.pwa-standalone [data-pwa-promo],.pwa-standalone [data-pwa-install]{display:none!important}
.push-prompt{border-left:2px solid var(--line);padding:4px 0 4px 18px;margin:0 0 12px}.push-prompt h2,.push-prompt h3{font:600 18px/1.4 Golos,Arial,sans-serif;letter-spacing:-.3px;margin:0 0 10px}.push-prompt p{font-size:13px;line-height:1.6}.push-prompt[hidden]{display:none!important}.push-settings{max-width:850px;margin:0 auto}.push-settings fieldset{padding:0;border:0}.push-category{padding:18px 0;border-bottom:1px solid var(--line)}.push-category label{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:15px;line-height:1.5}.push-category input[type=checkbox]{width:19px;height:19px;flex:none;margin:2px 0 0}.push-category small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:5px}.push-device{padding:18px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.push-settings label.push-category{display:flex;align-items:flex-start;gap:12px;min-height:48px;font-size:15px;line-height:1.5;margin:0}.push-settings .push-device{padding:24px}.push-settings .push-device form>.button{margin-top:22px}.push-settings .push-device>button{margin-top:14px}.push-settings .push-device h2{font-size:22px;letter-spacing:-.5px}.push-settings .push-prompt{margin-bottom:30px}.push-settings .push-prompt .button{min-height:44px}.push-settings .push-prompt>p:empty{display:none}.push-settings .push-prompt>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.pwa-section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:32px 0 18px}.pwa-section-heading h2{font:650 27px/1.25 Golos,Arial,sans-serif;letter-spacing:-.8px;margin:0;color:var(--ink)}.pwa-section-heading>span,.pwa-section-heading>a{font-size:13px;color:var(--muted)}.pwa-section-heading>a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.pwa-booking-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:25px 0;border-top:1px solid var(--line)}.pwa-booking-row>div{min-width:0}.pwa-booking-row h3{font:650 23px/1.25 Golos,Arial,sans-serif;letter-spacing:-.5px;color:var(--ink);margin:0 0 14px}.pwa-booking-row h3>a{color:inherit;text-decoration:none}.pwa-booking-row h3>a:hover{text-decoration:underline;text-underline-offset:4px}.pwa-booking-row p{font-size:14px;margin:6px 0;color:var(--muted)}.pwa-booking-row .pwa-record-status{font-size:12px;color:var(--accent);margin:0 0 12px}.pwa-record-time{color:var(--text)!important}.pwa-record-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.pwa-record-actions>a:not(.button){display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px}.pwa-record-actions .button{font-size:13px;min-height:44px;border-radius:3px}.pwa-forget-bookings{border-top:1px solid var(--line);margin:12px 0 36px;padding:17px 0}.pwa-forget-bookings summary{font-size:13px;min-height:32px;cursor:pointer}.pwa-forget-bookings>p{max-width:640px;color:var(--muted);font-size:14px;line-height:1.6}.pwa-forget-bookings .button{min-height:44px;white-space:normal;font-size:13px}.pwa-empty{max-width:640px;padding:32px 0;margin-bottom:25px}.pwa-empty h2{font:650 30px/1.2 Golos,Arial,sans-serif;letter-spacing:-.7px;margin:0 0 18px;color:var(--ink)}.pwa-empty p{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:25px}.pwa-empty-icon{display:block;margin-bottom:25px;color:var(--muted)}.pwa-empty-icon svg{width:38px;height:38px}.pwa-empty .button{min-height:46px;border-radius:3px}.pwa-empty-secondary{display:block;width:fit-content;padding:14px 0;font-size:13px}.pwa-search-form{max-width:800px;margin:0 0 35px}.pwa-search-form label{font-size:13px;color:var(--muted);margin-bottom:12px}.pwa-search-form>div{display:flex;gap:12px}.pwa-search-form input{width:100%;min-width:0;min-height:50px!important;font-size:16px!important;border-radius:3px!important}.pwa-search-form .button{flex:none;border-radius:3px;min-height:50px;gap:12px}.pwa-search-query{font-size:14px;color:var(--muted)}.pwa-search-section{margin:35px 0}.pwa-search-result{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:22px 0;text-decoration:none;color:var(--text)}.pwa-search-result>div{min-width:0}.pwa-search-result h3{font:650 23px/1.3 Golos,Arial,sans-serif;letter-spacing:-.5px;color:var(--ink);margin:9px 0}.pwa-search-result span,.pwa-search-result p{font-size:13px;color:var(--muted);line-height:1.6}.pwa-search-result p{margin:0}.pwa-search-result:hover{color:var(--accent)}.pwa-search-result:hover h3{text-decoration:underline;text-underline-offset:4px}.pwa-search-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.pwa-search-shortcuts a{display:flex;align-items:center;gap:15px;min-height:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:17px;text-decoration:none}.pwa-search-shortcuts a svg:last-child{margin-left:auto}.pwa-privacy{max-width:760px}.pwa-privacy section{margin:35px 0;padding-top:25px;border-top:1px solid var(--line)}.pwa-privacy h2{font:650 26px/1.3 Golos,Arial,sans-serif;letter-spacing:-.65px;color:var(--ink);margin:0 0 20px}.pwa-privacy section p{font-size:16px;line-height:1.8;color:var(--muted)}.pwa-share-button{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin:14px 0 0;padding:10px 0;font:500 13px/1.4 Golos,Arial,sans-serif;border:0;border-radius:0;background:transparent;color:var(--muted);cursor:pointer}.pwa-share-button:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}.pwa-share-button svg{width:18px;height:18px}.pwa-after-booking{border-top:1px solid var(--line);margin:26px 0;padding-top:24px}.pwa-after-booking .push-prompt{max-width:580px}.pwa-after-booking h3{font-size:20px}.pwa-after-booking .push-prompt>p{margin-top:12px}
@media(max-width:600px){.pwa-booking-row{grid-template-columns:1fr;gap:16px;padding:22px 0}.pwa-record-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 20px}.pwa-booking-row h3{font-size:22px}.pwa-section-heading h2{font-size:25px}.pwa-search-shortcuts{grid-template-columns:1fr;gap:0}.pwa-search-shortcuts a{border-bottom:0}.pwa-search-shortcuts a:last-child{border-bottom:1px solid var(--line)}.pwa-search-form>div{gap:8px}.pwa-search-form .button{font-size:13px;padding:10px 13px;gap:7px}.pwa-search-form .button svg{width:16px}.pwa-privacy section p{font-size:15px}.pwa-privacy h2{font-size:24px}}
@media(max-width:760px){.pwa-page{margin-top:0;margin-bottom:40px}.pwa-page-heading{margin-bottom:28px}.pwa-page-heading h1{font-size:38px;letter-spacing:-1.4px}.pwa-page-heading>p:last-child{font-size:15px}.pwa-app-identity{gap:18px;margin-bottom:23px}.pwa-app-identity>img{width:66px;height:66px;border-radius:14px}.pwa-app-identity h1{font-size:36px}.pwa-install-panel{padding:24px 20px}.pwa-install-panel h2{font-size:23px}.pwa-feature-list{grid-template-columns:1fr;gap:24px;margin-top:34px}.pwa-feature-index{margin-bottom:15px}.pwa-feature-list p{max-width:500px}.pwa-settings-section{grid-template-columns:1fr;gap:16px;padding:25px 0}.pwa-settings-section p{max-width:none}.pwa-page-links{gap:8px 20px;margin-top:28px}.pwa-install-promo{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;padding:20px;border-radius:7px;max-height:calc(100dvh - 100px);overflow:auto}.pwa-promo-heading h2{font-size:19px}.pwa-install-promo>p{font-size:13px;margin:14px 0}.pwa-guide-dialog{width:calc(100% - 24px)}.pwa-guide-body{padding:20px}.pwa-guide-dialog .drawer-heading{padding:16px 18px}.pwa-guide-dialog .drawer-heading h2{font-size:21px}.pwa-toast{bottom:calc(82px + env(safe-area-inset-bottom));font-size:13px}.pwa-share-fallback{bottom:calc(82px + env(safe-area-inset-bottom))}.pwa-standalone body,.pwa-standalone .public-site{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.pwa-standalone .bottom-nav{display:none!important}.pwa-standalone .pwa-app-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;bottom:0;z-index:40;padding:0 max(5px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(5px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line);min-height:64px}.pwa-app-nav a,.pwa-app-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:10px 2px 8px;min-width:0;min-height:64px;color:var(--muted);font:500 10px/1.35 Golos,Arial,sans-serif;background:none;border:0;border-radius:0;text-decoration:none;cursor:pointer}.pwa-app-nav .ui-icon{width:22px;height:22px}.pwa-app-nav a[aria-current=page]{color:var(--accent);box-shadow:inset 0 2px var(--accent)}.pwa-standalone .public-site.game-detail-page .mobile-booking-bar{bottom:calc(64px + env(safe-area-inset-bottom));padding-bottom:12px}.pwa-standalone .public-site.game-detail-page.has-booking{padding-bottom:calc(157px + env(safe-area-inset-bottom))}.pwa-keyboard .pwa-app-nav,.pwa-keyboard .mobile-booking-bar{display:none!important}.pwa-keyboard .pwa-toast{bottom:12px}}
@media(display-mode:standalone){[data-pwa-promo],[data-pwa-install-link],[data-pwa-install]{display:none!important}}
@media(prefers-reduced-motion:reduce){.pwa-install-promo,.pwa-toast,.pwa-app-nav *,.pwa-guide-dialog{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.header-install{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;white-space:nowrap}.header-install .icon{width:1.15rem;height:1.15rem}@media(max-width:1100px){.header-install span{display:none}.header-install{min-width:40px;min-height:44px;justify-content:center}}
