/* Public discovery. Theme tokens keep light and dark mode equally readable. */
.public-landing{min-height:100dvh;background:var(--rally-page);color:var(--rally-text);font-family:inherit;--discovery-green:#087348;--discovery-tint:#e9f5ee}
.public-landing *{box-sizing:border-box}.public-landing a{color:inherit;text-decoration:none}.public-landing button,.public-landing input,.public-landing select{font:inherit}.public-landing button{cursor:pointer}.public-landing [hidden]{display:none!important}
.discovery-header{display:flex;align-items:center;justify-content:space-between;padding:10px max(20px,calc((100% - 920px)/2));gap:18px;background:#032f4a;color:#fff}
.discovery-brand{display:flex;gap:10px;align-items:center;min-width:0;font-weight:800;font-size:1.65rem;letter-spacing:-.045em}.discovery-brand img{border-radius:12px;flex-shrink:0}.discovery-signin{display:flex;align-items:center;gap:7px;min-height:44px;border:1px solid #688394;border-radius:13px;padding:8px 13px;font-size:.88rem;font-weight:650;white-space:nowrap}
.discovery-intro{max-width:960px;margin:auto;padding:16px 20px 14px}.discovery-eyebrow{font-size:.64rem;letter-spacing:.12em;color:var(--discovery-green);font-weight:800}.discovery-intro h1{font-size:clamp(1.8rem,6.9vw,2.7rem);font-weight:800;letter-spacing:-.055em;line-height:1.1;margin:6px 0}.discovery-intro h1 span{color:var(--discovery-green)}.discovery-intro p{margin:5px 0 0;color:var(--rally-muted);font-size:.96rem;line-height:1.5}
.discovery-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;border-block:1px solid var(--rally-line);background:var(--rally-surface)}.discovery-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;border:0;border-bottom:4px solid transparent;background:transparent;color:var(--rally-muted);font-size:1rem;font-weight:750;padding:8px 12px}.discovery-tabs button[aria-selected=true]{border-bottom-color:var(--discovery-green);color:var(--discovery-green);background:var(--discovery-tint)}
.discovery-main{max-width:960px;margin:auto;padding:12px 20px}.discovery-search{display:flex;align-items:center;gap:10px;background:var(--rally-input);border:1px solid var(--rally-line);border-radius:14px;padding:0 14px;color:var(--rally-muted)}.discovery-search input{width:100%;min-width:0;min-height:44px;border:0;background:transparent;color:var(--rally-text);outline:none;font-size:1rem}.discovery-search:focus-within{outline:3px solid var(--rally-focus);outline-offset:2px}.discovery-search input::placeholder{color:var(--rally-muted)}
.discovery-hint{display:flex;align-items:center;gap:7px;font-size:.75rem;color:var(--rally-muted);margin:8px 2px 0}.discovery-hint svg{flex-shrink:0}.discovery-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px;min-width:0}.discovery-section-title h2{display:flex;align-items:center;gap:7px;margin:0;font-size:1.04rem;font-weight:750;letter-spacing:-.025em}.discovery-section-title h2 svg{color:var(--discovery-green)}.discovery-section-title>span{display:flex;align-items:center;gap:5px;color:var(--rally-muted);font-size:.7rem}.discovery-section-title select{min-width:0;max-width:46%;min-height:44px;border:1px solid var(--rally-line);border-radius:10px;background:var(--rally-input);color:var(--rally-text);padding:8px;font-size:.83rem}
.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.discovery-card{position:relative;border:1px solid var(--rally-line);border-radius:21px;overflow:hidden;background:var(--rally-surface);box-shadow:0 5px 18px #092f4710;min-width:0}.discovery-card-link{display:block;height:100%}.discovery-photo{aspect-ratio:1.88;background:var(--discovery-tint);overflow:hidden}.discovery-photo>img{display:block;width:100%;height:100%;object-fit:cover}.discovery-placeholder{height:100%;width:100%;background:linear-gradient(135deg,#164f56,#36866f);display:flex;align-items:center;justify-content:center;position:relative;color:#fff}.discovery-placeholder svg{width:70%;height:100%;opacity:.5;fill:none;stroke:#f1ffea;stroke-width:1.5;transform:rotate(-12deg) scale(1.2)}.discovery-placeholder .court-net{stroke-width:4}.discovery-placeholder span{position:absolute;bottom:12px;left:18px;letter-spacing:.08em;font-size:.65rem;font-weight:650;text-transform:uppercase}
.discovery-card h3{margin:0;color:var(--rally-text);font-size:1.12rem;line-height:1.3;font-weight:750;letter-spacing:-.025em;overflow-wrap:anywhere}.discovery-card-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px}.discovery-card p{display:flex;align-items:center;gap:7px;margin:5px 0 0;color:var(--rally-muted);font-size:.8rem;line-height:1.45}.discovery-card p svg{flex-shrink:0}.discovery-card-body>svg{color:var(--discovery-green);flex-shrink:0}
.discovery-heart{position:absolute;right:13px;top:13px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #d4e0db;background:#fffffff5;border-radius:50%;color:#183e35;box-shadow:0 2px 8px #0002}.discovery-heart[aria-pressed=true]{color:#087348}.discovery-rank{position:absolute;left:13px;top:15px;background:#fffffff2;color:#14543a;padding:7px 10px;border-radius:9px;font-size:.67rem;font-weight:800;letter-spacing:.02em;pointer-events:none}.discovery-drag{position:absolute;right:13px;top:66px;width:44px;height:40px;display:grid;place-items:center;background:#fffffff2;border:1px solid #d4e0db;border-radius:10px;color:#38564c;touch-action:none;user-select:none;cursor:grab!important}.discovery-card.is-dragging{outline:3px solid var(--rally-focus);outline-offset:2px;box-shadow:0 6px 26px #08734830}
.discovery-event-body{padding:12px 18px 0}.discovery-event-kind{display:inline-block;background:var(--discovery-tint);color:var(--discovery-green);font-size:.65rem;letter-spacing:.04em;font-weight:750;padding:4px 8px;border-radius:7px;margin-bottom:6px}.discovery-event-club{font-weight:600;margin-bottom:8px!important}.discovery-event-body p span{font-size:.63rem;margin-left:auto}.discovery-event-open{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:10px 0;min-height:44px;border-top:1px solid var(--rally-line);color:var(--discovery-green);font-size:.85rem;font-weight:750}
.discovery-message{padding:24px 18px;border:1px dashed var(--rally-line);border-radius:16px;background:var(--rally-surface);color:var(--rally-muted);margin:18px 0;line-height:1.6;font-size:.9rem}.discovery-message button,.discovery-more,.discovery-return button{display:block;min-height:46px;border:1px solid var(--rally-line);border-radius:12px;background:var(--rally-surface);color:var(--rally-text);padding:10px 18px;margin:14px auto 0;font-weight:650}.discovery-more{width:100%;margin:20px 0}.discovery-more:disabled{opacity:.6;cursor:wait}.discovery-footnote{color:var(--rally-muted);font-size:.73rem;text-align:center;line-height:1.6;margin:16px auto 12px;max-width:360px}.discovery-main>.rally-appearance{max-width:480px;margin:25px auto 0}.discovery-footer{text-align:center;padding:6px 20px 18px;color:var(--rally-muted);font-size:.74rem}.discovery-sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.public-landing :is(button,a,select):focus-visible{outline:3px solid var(--rally-focus);outline-offset:3px}.discovery-card-link:focus-visible{outline-offset:-4px!important}
.discovery-back{position:relative;display:block;z-index:2;padding:14px 20px;color:var(--rally-text);background:var(--rally-surface);font-weight:650;font-size:.9rem;text-decoration:none}.discovery-return{max-width:540px;margin:15vh auto;padding:24px;text-align:center;color:var(--rally-text)}.discovery-return img{margin:auto;border-radius:16px}.discovery-return h1{font-size:1.4rem;margin:20px 0 10px}.discovery-return p{line-height:1.6;color:var(--rally-muted)}.discovery-return a{display:block;padding:20px;color:var(--rally-text)}
@media(max-width:600px){.discovery-grid{grid-template-columns:minmax(0,1fr);gap:12px 16px}.discovery-main{padding:12px 18px}.discovery-intro{padding:14px 20px 14px}.discovery-header{padding:10px 20px}.discovery-photo{aspect-ratio:1.95}}
@media(max-width:350px){.discovery-main{padding:10px 14px}.discovery-intro,.discovery-header{padding-inline:16px}.discovery-brand{font-size:1.4rem}.discovery-signin{padding:8px 10px}.discovery-signin svg{display:none}.discovery-section-title{gap:6px}.discovery-section-title h2{font-size:.94rem}}
@media screen{html[data-rally-theme=dark] .public-landing{--discovery-green:#9ae8bd;--discovery-tint:#173f32}.public-landing .discovery-signin:focus-visible{outline-color:#a7edbd}}
@media(hover:hover){.discovery-card:hover{border-color:var(--rally-focus)}.discovery-heart:hover{background:#e9f5ee}}

/* Event posters keep their complete artwork and text at every screen width. */
.discovery-photo.discovery-photo-full{aspect-ratio:auto;height:clamp(140px,42vw,200px)}
.discovery-photo-full>img{height:100%;object-fit:contain}

/* Share the available screen between discovery navigation and the auth form. */
.discovery-auth{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}
.discovery-auth>.login-page{min-height:0;height:100%;min-width:0;grid-template-rows:minmax(0,1fr);overflow:hidden}
.discovery-auth>.login-page>.account-card{min-height:0;max-height:100%;overflow-y:auto}

/* Compact event rows: square artwork, details alongside, a soft full-width footer. */
.discovery-event-summary{display:grid;grid-template-columns:minmax(104px,.9fr) minmax(0,1.3fr);align-items:start;gap:12px;padding:12px 14px 0}
.discovery-event-card .discovery-photo{aspect-ratio:1;height:auto;min-width:0;border-radius:12px;align-self:start}
.discovery-event-card .discovery-photo>img{width:100%;height:100%;object-fit:contain}
.discovery-event-card .discovery-event-body{min-width:0;padding:0}
.discovery-event-card .discovery-event-body h3{font-size:1.08rem;line-height:1.3}
.discovery-event-card .discovery-event-body p{font-size:.76rem;flex-wrap:wrap;column-gap:5px;row-gap:2px}
.discovery-event-card .discovery-event-body p span{flex-basis:100%;margin-left:21px;font-size:.64rem}
.discovery-event-card .discovery-event-club{display:block;overflow-wrap:anywhere;margin-bottom:8px!important}
.discovery-event-card .discovery-event-open{margin:12px 14px 0;padding:10px 2px;min-height:44px;background:transparent}
@media(max-width:350px){.discovery-event-summary{grid-template-columns:minmax(92px,.8fr) minmax(0,1.3fr);gap:10px;padding-inline:10px}.discovery-event-card .discovery-event-open{margin-inline:10px}.discovery-event-card .discovery-event-body h3{font-size:1rem}}
