/* Safe floating controls with no mobile background rail. */
:root{--club-control-gutter:112px;--club-control-edge:12px;--club-control-width:88px;--club-mobile-bar-height:0px;--club-control-rail:80px;--club-control-safe-area:env(safe-area-inset-bottom,0px)}
body .wrap,body.admin-dashboard-view #admin>.wrap,body .admin-masthead-inner{width:calc(100% - 2 * var(--club-control-gutter));margin-inline:auto}
body .admin-masthead-inner,body.admin-dashboard-view #admin>.wrap{max-width:1740px}
.club-control-dock{position:fixed;inset:auto 0 0;height:128px;z-index:80;pointer-events:none;isolation:isolate}
body .club-control{appearance:none;-webkit-appearance:none;position:absolute;bottom:max(10px,env(safe-area-inset-bottom));display:grid;place-items:center;width:var(--club-control-width);height:110px;min-width:48px;min-height:48px;padding:0;margin:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;color:inherit;line-height:1;cursor:pointer;touch-action:manipulation;pointer-events:auto;-webkit-tap-highlight-color:transparent;outline-offset:0;transform:none;transition:none}
body .club-control[hidden]{display:none!important}
body .club-control:before,body .club-control:after{content:none}
body .club-control svg{display:block;overflow:visible;width:80px;height:104px;fill:initial;stroke:none;filter:drop-shadow(0 3px 1px #001d2166) drop-shadow(0 6px 9px #001d2140);transition:transform .25s ease,filter .25s ease;pointer-events:none}
body .club-cookie-button{left:max(var(--club-control-edge),env(safe-area-inset-left));right:auto}
body .club-cookie-button svg{transform:rotate(-16deg)}
body .club-top-button{left:auto;right:max(var(--club-control-edge),env(safe-area-inset-right))}
body .club-control:hover svg{filter:drop-shadow(0 0 4px #2df9d185) drop-shadow(0 7px 8px #001d2166)}
body .club-cookie-button:hover svg{transform:translateY(-5px) rotate(-22deg)}
body .club-control:active svg{transform:translateY(1px) scale(.95)}
body .club-control:focus-visible{outline:2px dashed #00aaa4;border-radius:48%;background:transparent}
body .club-control:focus-visible svg{filter:drop-shadow(0 0 2px #effff8) drop-shadow(0 0 6px #00d9c3)}
body .club-cookie-button:hover .club-cookie-crumbs{animation:club-crumbs .65s ease-out both}
@keyframes club-crumbs{0%,100%{transform:translate(0,0);opacity:1}45%{transform:translate(3px,-4px);opacity:.55}}
@media(min-width:951px){html{scroll-padding-bottom:24px}body .site-footer{padding-bottom:max(36px,env(safe-area-inset-bottom))}}
@media(min-width:951px) and (max-width:1200px){:root{--club-control-gutter:98px;--club-control-width:76px;--club-control-edge:8px}body .club-control svg{width:70px;height:94px}body .club-control{height:100px}.club-control-dock{height:112px}}
@media(max-width:950px){
 :root{--club-control-gutter:18px;--club-control-width:64px;--club-control-edge:14px}
 html{scroll-padding-bottom:calc(var(--club-control-rail) + var(--club-mobile-bar-height) + var(--club-control-safe-area) + 20px)}
 body:has(.club-control-dock:not([hidden])){padding-bottom:calc(var(--club-mobile-bar-height) + var(--club-control-safe-area) + 18px)!important}
 body .wrap,body.admin-dashboard-view #admin>.wrap,body .admin-masthead-inner{width:calc(100% - max(var(--club-control-gutter),env(safe-area-inset-left)) - max(var(--club-control-gutter),env(safe-area-inset-right)));margin-left:max(var(--club-control-gutter),env(safe-area-inset-left));margin-right:max(var(--club-control-gutter),env(safe-area-inset-right))}
 .club-control-dock{bottom:var(--club-mobile-bar-height);height:calc(66px + var(--club-control-safe-area));pointer-events:none;background:transparent;border:0;box-shadow:none}
 .club-control-dock:before,.club-control-dock:after{content:none}
 body .club-control{bottom:calc(4px + var(--club-control-safe-area));height:58px;width:48px}
 body .club-control svg{width:40px;height:52px}
 body .club-cookie-button svg{transform:rotate(-13deg)}
 body .club-control:hover svg{transform:translateY(-2px) rotate(0deg)}
 body .toast{bottom:calc(var(--club-control-rail) + var(--club-mobile-bar-height) + var(--club-control-safe-area) + 20px)}
 body .site-footer .club-footer-bottom{padding-bottom:12px}
 body.admin-dashboard-view #admin .admin-rubric-nav{max-height:calc(100dvh - 180px - var(--club-control-rail) - var(--club-mobile-bar-height))}
}
@media(max-width:380px){:root{--club-control-gutter:14px}}
@media(prefers-reduced-motion:reduce){body .club-control svg,body .club-control:hover svg{transition:none;transform:none}body .club-control *,body .club-control:hover *{animation:none!important}}
body.paused .club-control *,body.paused .club-control:hover *{animation:none!important;transition:none}
@media print{.club-control-dock{display:none!important}body .wrap,body.admin-dashboard-view #admin>.wrap{width:100%}body:has(.club-control-dock:not([hidden])){padding-bottom:0!important}}

.club-control-dock[hidden]{display:none!important}

/* Return to top: one restrained, geometric control at every viewport size. */
body button.club-top-button#ttc-top-control{--top-bg:var(--brand-site-header,#10282d);--top-ink:var(--brand-site-on-header,#effbf5);--top-accent:var(--brand-site-primary,#42ebcb);box-sizing:border-box;display:grid;place-items:center;width:52px;height:52px;min-width:48px;min-height:48px;bottom:max(18px,env(safe-area-inset-bottom));padding:12px;border:1px solid color-mix(in srgb,var(--top-ink) 40%,var(--top-bg))!important;border-radius:14px;background:var(--top-bg)!important;color:var(--top-ink)!important;box-shadow:0 6px 18px #001b2526!important;overflow:hidden;transform:none;transition:border-color .18s,box-shadow .18s}
body.admin-premium-view button.club-top-button#ttc-top-control{--top-bg:var(--brand-admin-nav,#10282d);--top-ink:var(--brand-admin-on-nav,#effbf5);--top-accent:var(--brand-admin-primary,#42ebcb)}
body button.club-top-button#ttc-top-control svg{width:24px;height:24px;fill:none;stroke:currentColor;filter:none!important;transform:none!important;transition:transform .18s ease}
body button.club-top-button#ttc-top-control:hover{border-color:var(--top-ink)!important;box-shadow:0 8px 22px #001b2530!important;color:var(--top-ink)!important}
body button.club-top-button#ttc-top-control:hover svg{transform:translateY(-2px)!important}
body button.club-top-button#ttc-top-control:active svg{transform:none!important}
body button.club-top-button#ttc-top-control:focus-visible{outline:3px solid var(--top-ink);outline-offset:4px;border-radius:14px}
body button.club-top-button#ttc-top-control .club-top-progress{position:absolute;inset:auto 12px 7px;height:2px;background:color-mix(in srgb,var(--top-ink) 18%,var(--top-bg));border-radius:2px;overflow:hidden;pointer-events:none}
body button.club-top-button#ttc-top-control .club-top-progress>span{display:block;width:100%;height:100%;background:var(--top-accent);transform:scaleX(var(--top-progress,0));transform-origin:left}
@media(max-width:950px){body button.club-top-button#ttc-top-control{width:48px;height:48px;bottom:calc(12px + var(--club-control-safe-area));right:max(14px,env(safe-area-inset-right));border-radius:13px}body button.club-top-button#ttc-top-control svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){body button.club-top-button#ttc-top-control,body button.club-top-button#ttc-top-control svg{transition:none}body button.club-top-button#ttc-top-control:hover svg{transform:none!important}}
body.paused button.club-top-button#ttc-top-control:hover svg{transform:none!important}
