/* Shared club PWA design, 2026-10-25. Club palette and assets remain dynamic. */
:root{--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;--muted:#b1bdd0}
body{font-size:15px;line-height:1.5;background:#0d121d}.app-bg{background:#0d121d!important}.app-bg:after{display:none}.app-shell{max-width:520px;padding:max(8px,env(safe-area-inset-top,0px)) 20px calc(110px + env(safe-area-inset-bottom,0px))}
.club-header{gap:10px;padding:20px 0}.club-brand{gap:10px;flex:1}.club-logo{width:46px;height:46px;box-shadow:none;border:0;background:none}.club-copy small{display:none}.club-copy h1{font-size:16px;line-height:1.25;white-space:normal;letter-spacing:-.25px}.club-copy p{font-size:11px;max-width:210px}.club-header-actions{gap:4px}.club-header-actions .round-button{width:34px;height:38px;box-shadow:none;background:#192130;border:0;font-size:20px}
.hero-card{min-height:0!important;padding:24px;border-radius:16px;background:color-mix(in srgb,var(--primary) 22%,#121b2b);border:0;box-shadow:none}.hero-glow,.hero-kicker,.hero-deck{display:none}.hero-showcase{min-height:0}.hero-showcase h2{font-size:36px;line-height:1.1;letter-spacing:-.03em;font-weight:700;margin:0}.hero-showcase h2 span{color:color-mix(in srgb,var(--accent) 45%,white);background:none;-webkit-text-fill-color:currentColor}.hero-card>p:not(.hero-kicker){font-size:15px;line-height:1.5;max-width:none;color:#c4cee1;margin:16px 0 20px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-actions .primary-action{flex:1;min-width:145px;background:color-mix(in srgb,var(--accent) 40%,white);color:#111827;border:0;box-shadow:none}.hero-actions .secondary-action{background:transparent;border:1px solid #708199;box-shadow:none}.hero-actions button{font-size:14px!important;font-weight:600!important;min-height:46px;border-radius:9px}.section-title{margin-top:26px}.section-title small{display:none}.section-title h2{font-size:24px;letter-spacing:-.02em}.section-title button{font-size:13px;font-weight:600;min-height:40px}
.primary-action,.secondary-action{font-size:14px;min-height:44px;font-weight:600;box-shadow:none}.filter-button{font-size:13px;min-height:40px}.tournament-card{border-radius:14px;box-shadow:none}.tournament-card h3{font-size:18px;line-height:1.3}.tournament-card p{font-size:14px}.tournament-card small{font-size:12px}.app-dialog{border-radius:16px}.app-dialog h2{font-size:24px;line-height:1.25}.app-dialog label{font-size:14px;font-weight:500}.app-dialog input,.app-dialog select{font-size:16px}.onboarding-copy,.first-visit-copy{font-size:14px;line-height:1.6}.app-dialog p{font-size:14px;line-height:1.6}.first-visit-steps li{font-size:13px}.form-status{font-size:13px}.opl-seasons h2{font-size:24px}.opl-seasons h3{font-size:17px;line-height:1.4;font-weight:600}.opl-copy{font-size:14px!important;line-height:1.5}.opl-meta{font-size:12px!important}.opl-card{border-radius:14px;box-shadow:none}
.bottom-nav,.bottom-nav.has-club-stream{display:flex;justify-content:space-around;width:min(100%,520px);min-height:76px;padding:9px 8px calc(12px + env(safe-area-inset-bottom));background:#101725;backdrop-filter:none;box-shadow:none;border-top:1px solid #283142}.bottom-nav>button{flex:1;min-width:0;gap:5px;min-height:46px;color:#b1bdd0}.bottom-nav>button small{font-size:11px!important;font-weight:600;overflow:visible}.bottom-nav>button.is-active{background:none;color:color-mix(in srgb,var(--accent) 45%,white)}.club-ui-icon{width:22px;height:22px;vertical-align:middle}.club-more{position:fixed;z-index:21;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 32px),488px);padding:18px;background:#192333;border:1px solid #3b4960;border-radius:14px;box-shadow:0 12px 36px #0008}.club-more-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.club-more-header button{background:none;color:inherit;border:0;min-height:40px;padding:0 12px;font-size:14px}.club-more-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.club-more-links button{display:flex;gap:12px;align-items:center;padding:12px;min-height:48px;background:#243147;border:0;border-radius:8px;color:#e5eaf4;font-size:14px}.club-more-links button small{font-size:14px}.club-more-links button.is-active{color:#fff;outline:1px solid var(--accent)}[hidden]{display:none!important}:focus-visible{outline:2px solid #c4bbff;outline-offset:3px}::selection{background:#b7adff;color:#141827}button{touch-action:manipulation}@media(max-width:370px){.app-shell{padding-inline:16px}.hero-card{padding:21px}.hero-showcase h2{font-size:32px}.club-copy h1{font-size:15px}.club-header-actions .round-button{width:30px}.club-header{gap:6px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.hero-showcase h2{text-transform:none}.club-ui-date{grid-row:1/4;align-self:start;text-align:center;padding-top:2px}.club-ui-date b{display:block;font-size:26px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}.club-ui-date span{font-size:10px;color:#b1bdd0;text-transform:uppercase}.opl-card.club-ui-dated{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;border:0;border-bottom:1px solid #283142;border-radius:0;padding:18px 0;background:none}.club-ui-dated h3{margin:0 0 5px!important;font-size:16px}.club-ui-dated>.opl-copy:empty{display:none}.club-ui-dated>.opl-meta{font-size:12px!important}.rating-row small,.finished-result-row small{font-size:12px}.rating-player-link{font-size:15px}.club-stream-note,.club-stream-status small,.club-stream-chat-head small{font-size:12px}.club-stream-status strong{font-size:15px}.club-stream-chat-message p{font-size:14px}.club-stream-chat-message strong{font-size:13px}.club-stream-chat-form input{font-size:16px}.first-visit-dialog p,.first-visit-steps li{font-size:14px!important;line-height:1.6}.round-button .club-ui-icon{width:20px;height:20px}
.tournament-title{font-size:18px!important;line-height:1.3!important}.tournament-meta,.tournament-date{font-size:13px!important}.tournament-card button{font-size:14px!important}.tournament-card .stat-label{font-size:12px}.hero-card:before,.hero-card:after{display:none}.hero-actions .hero-interactive-button{width:auto!important;flex:0 1 auto;min-width:0}
.live-view-switch{display:flex;gap:8px;margin:12px 0 18px}.live-view-switch button{flex:1;min-height:44px;border:1px solid #475569;background:#172235;color:#dce4f3;border-radius:9px;font-size:14px}.live-view-switch button.is-active{background:#c0b6ff;color:#151a2a;border-color:#c0b6ff}#live-tv-panel a{display:block;font-size:14px;color:#d1c9ff;margin:12px 0}#live-tv-frame{width:100%;height:min(65vh,420px);border:0;background:#080e18}.live-clubs{margin:20px 0;padding:18px;background:#141e2e;border-radius:14px}.live-clubs h3{margin:0;font-size:19px}.live-clubs p{font-size:13px;color:#b1bdd0;margin:6px 0 16px}.live-club-head,.live-club-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.live-club-head{font-size:12px;color:#b1bdd0}.live-club-row{padding:12px 0;border-bottom:1px solid #2a3548;font-size:14px}.live-club-row strong{font-weight:500;overflow-wrap:anywhere}.live-club-row>span{flex:none;font-variant-numeric:tabular-nums;color:#b1bdd0}.live-club-row b{color:#fff;font-size:18px}.opl-tournament-choice{margin:12px 0 18px;display:grid;gap:7px;font-size:14px}.opl-tournament-choice select{font-size:16px!important;min-height:46px;max-width:100%}.live-hero h3{font-size:20px}.live-stat-grid small,.live-roster-title small{font-size:12px}.live-stat-grid span{font-size:12px}

/* Compact home actions; keep the header below the phone status bar. */
.hero-card{padding:0;margin:8px 0 16px;border-radius:0;background:none}
.hero-card .hero-showcase,.hero-card>p{display:none}
.hero-card .hero-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;margin:0}
.hero-card .hero-actions button{width:100%!important;min-width:0;min-height:46px;padding:8px 10px;line-height:1.25}
.hero-card .hero-actions .hero-interactive-button{width:100%!important}

/* Compact schedule announcements; full artwork remains in the event section. */
.club-event-announcement{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:14px 16px;border:1px solid #6e5932;border-radius:16px;background:#191b22;color:#f4e5bf;text-align:left;cursor:pointer}
.club-event-announcement-mark{flex:0 0 24px;font-size:24px;color:#e2bd69}
.club-event-announcement-copy{display:grid;gap:3px;flex:1;min-width:0}
.club-event-announcement-copy small{font-size:11px;font-weight:600;color:#d8bb7b}
.club-event-announcement-copy strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.club-event-announcement-copy em{font-size:12px;font-style:normal;color:#b7bdc9}
.club-event-announcement-arrow{font-size:25px;flex:none}
.club-schedule-events{border:1px solid #6e5932;border-radius:16px;background:#191b22;overflow:hidden}
.club-schedule-events>summary{padding:16px;color:#f4e5bf;font-size:14px;font-weight:600;cursor:pointer;min-height:52px}
.club-schedule-events>summary span{color:#d8bb7b}
.club-schedule-events>div{display:grid;gap:8px;padding:0 8px 8px}
.club-schedule-events .club-event-announcement{border-color:#393a41;background:transparent}
/* Keep navigation in the viewport without a transformed/composited container. */
.bottom-nav,.bottom-nav.has-club-stream{position:fixed;inset:auto 0 0;margin-inline:auto;transform:none;contain:none;backdrop-filter:none;-webkit-backdrop-filter:none;height:auto;min-height:76px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));align-items:stretch}
.bottom-nav>button{display:flex;flex-direction:column;align-items:center;justify-content:center}
.club-more{left:0;right:0;margin-inline:auto;transform:none}

.club-route-link{color:inherit;text-decoration:none;border-radius:8px}.club-route-link[href]{cursor:pointer;touch-action:manipulation}.club-route-link[href] #club-address::after{content:" ↗";color:var(--accent)}.club-route-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
