:root{color:#0f172a;background:#eaf7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(circle at top left,#e5f7f2 0,#fff 34%,#f5faf8)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{width:min(100%,520px);min-height:100dvh;margin:0 auto;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom));background:radial-gradient(circle at top left,#eefaf7 0,#fff 34%,#f7faf8);box-shadow:0 0 60px #0f172a1a}.offline-banner{padding:.6rem 1rem;color:#422006;background:#fde68a;text-align:center;font-size:.8rem;font-weight:800}.app-header{display:flex;align-items:center;min-height:calc(5.7rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1rem 0;border-bottom:1px solid #e7e5e4;background:#ffffffe0}.brand{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:0;border:0;color:#0c0a09;background:none;cursor:pointer;font-size:1.7rem;font-weight:900;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;color:#fff;background:#0f766e;box-shadow:0 .6rem 1.5rem #0f766e2e;font-size:1.35rem}.discover-view{display:grid;gap:2rem;padding:1.8rem 1rem}.eyebrow{margin:0;color:#0f766e;font-size:.78rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:.85rem 0 0;color:#020617;font-size:clamp(2.5rem,12vw,3.6rem);font-weight:900;line-height:1.02;letter-spacing:-.045em}.hero-copy{margin:1rem 0 0;color:#475569;font-size:1rem;font-weight:550;line-height:1.6}.discovery-search{position:relative;margin-top:1.35rem}.discovery-search-control{display:flex;align-items:center;min-height:3.6rem;overflow:hidden;border:1px solid #e7e5e4;border-radius:1rem;color:#115e59;background:#fff;box-shadow:0 .75rem 1.8rem #0f172a14}.discovery-search-control:focus-within{border-color:#0f766e}.discovery-search-control>svg{flex:0 0 auto;margin-left:.85rem}.discovery-search-control input{min-width:0;flex:1;padding:0 .6rem;border:0;outline:0;color:#020617;background:transparent;font-size:1rem}.discovery-search-control button{display:grid;place-items:center;width:3rem;height:3rem;margin-right:.3rem;border:0;border-radius:.8rem;color:#fff;background:#0f766e;cursor:pointer}.search-suggestions{position:absolute;z-index:30;top:calc(100% + .5rem);right:0;left:0;overflow:hidden;border:1px solid #e7e5e4;border-radius:1rem;background:#fff;box-shadow:0 1.1rem 2.8rem #0f172a21}.search-suggestions button{display:grid;width:100%;gap:.2rem;padding:.8rem;border:0;border-bottom:1px solid #f5f5f4;color:#0c0a09;background:#fff;cursor:pointer;text-align:left}.search-suggestions button:hover{background:#f0fdfa}.search-suggestions small{color:#57534e}.date-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:1rem}.date-chips button{display:flex;align-items:center;justify-content:center;gap:.3rem;min-width:0;min-height:3rem;padding:.45rem;border:1px solid #e7e5e4;border-radius:999px;color:#0f172a;background:#fff;cursor:pointer;font-size:.8rem;font-weight:900;box-shadow:0 .5rem 1.2rem #0f172a0f}.date-chips button.active{border-color:#0f766e;color:#fff;background:#0f766e}.upcoming-section{display:grid;gap:1rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading h2{margin:0;color:#020617;font-size:1.4rem;font-weight:900}.section-heading a,.section-heading button{display:flex;align-items:center;border:0;color:#115e59;background:transparent;cursor:pointer;font-size:.85rem;font-weight:900}.upcoming-events{display:grid;gap:1rem}.api-state-card{padding:1.25rem;border:1px solid #e7e5e4;border-radius:1.25rem;color:#475569;background:#fff;text-align:center;box-shadow:0 .9rem 2.1rem #0f172a12}.api-state-card.error{color:#991b1b;background:#fef2f2}.live-directory-card{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:1.1rem;border:1px solid #e7e5e4;border-radius:1.25rem;background:#fff;box-shadow:0 .9rem 2.1rem #0f172a17}.directory-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:1rem;color:#0f766e;background:#ccfbf1}.live-directory-card h3{margin:.15rem 0 .35rem;color:#020617;font-size:1.08rem}.live-directory-card p{margin:0;color:#57534e;font-size:.85rem;line-height:1.5}.live-directory-card>a{display:flex;grid-column:1 / -1;align-items:center;justify-content:center;gap:.6rem;min-height:3.35rem;border-radius:.8rem;color:#fff;background:#0f766e;font-weight:900}.profile-card{min-height:calc(100dvh - 11rem);margin:1.5rem 1rem;padding:2.2rem 1.4rem 1.4rem;border-radius:1.45rem;background:#fff;text-align:center;box-shadow:0 1.1rem 3rem #0f172a1a}.profile-icon{display:grid;place-items:center;width:7rem;height:7rem;margin:0 auto;border-radius:50%;color:#115e59;background:#ccfbf1}.profile-card h1{margin-top:1.7rem}.profile-card>p{max-width:23rem;margin:1.2rem auto 0;color:#475569;font-size:1.05rem;font-weight:550;line-height:1.65}.profile-actions{display:grid;gap:.8rem;margin-top:1.7rem}.primary-button,.secondary-button{display:flex;min-height:3.8rem;align-items:center;justify-content:center;border-radius:.8rem;font-size:1.05rem;font-weight:900}.primary-button{color:#fff;background:#0f766e;box-shadow:0 .75rem 1.6rem #0f766e2e}.secondary-button{border:2px solid #0f766e;color:#115e59;background:#fff}.policy-links{display:grid;margin-top:1.5rem;border-top:1px solid #e7e5e4;text-align:left}.policy-links a{display:flex;align-items:center;justify-content:space-between;min-height:3.2rem;border-bottom:1px solid #e7e5e4;color:#475569;font-size:.88rem;font-weight:700}.mobile-navigation{position:fixed;z-index:50;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem;width:min(100%,520px);min-height:calc(4.4rem + env(safe-area-inset-bottom));margin:0 auto;padding:.45rem .5rem env(safe-area-inset-bottom);border-top:1px solid #e7e5e4;background:#fffffff0;box-shadow:0 -.25rem .9rem #0f172a14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-navigation button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border:0;border-radius:.45rem;color:#334155;background:transparent;cursor:pointer;font-size:.72rem;font-weight:900}.mobile-navigation button.active{color:#115e59;background:#f0fdfa}.mobile-event-card{width:100%;overflow:hidden;padding:1rem;border:1px solid #f5f5f4;border-radius:1.35rem;background:#fff;box-shadow:0 .9rem 2.1rem #0f172a1a}.event-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.event-card-heading p{margin:0;padding:.4rem .75rem;border-radius:.5rem;color:#115e59;background:#f0fdfa;font-size:.72rem;font-weight:900;text-transform:uppercase}.event-card-heading button{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:0;border-radius:50%;color:#115e59;background:#f0fdfa;cursor:pointer}.event-card-title{display:flex;align-items:center;gap:.8rem;margin-top:.8rem}.academy-logo{display:grid;flex:0 0 auto;place-items:center;width:4rem;height:4rem;overflow:hidden;border-radius:50%;color:#fff;background:#0f172a;font-size:.8rem;font-weight:900}.academy-logo img{width:100%;height:100%;object-fit:cover}.event-card-title h3{margin:0;color:#020617;font-size:1.6rem;line-height:1}.event-card-title p{display:flex;gap:.3rem;margin:.65rem 0 0;color:#57534e}.event-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.1rem;padding:.9rem 0;border-top:1px solid #e7e5e4;border-bottom:1px solid #e7e5e4}.event-metrics span{display:grid;place-items:center;gap:.4rem;min-width:0;padding:0 .25rem;color:#0f172a;font-size:.75rem;font-weight:900;text-align:center}.event-metrics span+span{border-left:1px solid #e7e5e4}.event-metrics svg,.event-detail svg{color:#0f766e}.event-detail{display:flex;align-items:center;gap:.6rem;margin:.9rem 0 0;color:#1e293b;font-weight:700}.event-detail.distance{color:#115e59;font-weight:900}.event-action{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.4rem;margin-top:1rem;border-radius:.75rem;color:#fff;background:#0f766e;font-weight:900}@media(min-width:680px){body{padding:1.5rem 0}.app-shell{min-height:calc(100dvh - 3rem);overflow:hidden;border-radius:1.5rem}.mobile-navigation{bottom:1.5rem;border-radius:0 0 1.5rem 1.5rem}}
