:root{
  --green-950:#021912; --green-900:#06331f; --green-800:#075236; --green-700:#096c49;
  --gold:#f6bd26; --gold-2:#ffd75a; --red:#bf1e2e; --ink:#081411; --muted:#61716b;
  --card:#ffffff; --glass:rgba(255,255,255,.10); --line:rgba(6,51,31,.16); --shadow:0 24px 80px rgba(2,25,18,.22);
  --radius:28px; --radius-sm:16px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f7f6ef;color:var(--ink)}
button,input,select,textarea{font:inherit} button{cursor:pointer} a{text-decoration:none;color:inherit} img{max-width:100%;display:block}
.hidden{display:none!important}.muted{color:var(--muted)}.danger{color:#b42318}.success{color:#087443}.small{font-size:.86rem}.pill{display:inline-flex;gap:.4rem;align-items:center;border-radius:999px;padding:.38rem .7rem;background:#ecfdf3;color:#087443;font-weight:800;font-size:.78rem}.dot{width:.48rem;height:.48rem;background:#18a05e;border-radius:999px;display:inline-block}.red-dot{background:#e54545}.gold{color:var(--gold)}
.toast{position:fixed;right:18px;bottom:18px;z-index:99;background:#052316;color:white;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);max-width:360px}.toast.error{background:#3b0808}.toast.good{background:#06331f}
.public-shell{min-height:100vh;background:radial-gradient(circle at 70% 10%,rgba(246,189,38,.20),transparent 35%),linear-gradient(180deg,#fff8e6 0,#f7f6ef 48%,#eef5ed 100%)}
.topbar{position:sticky;top:0;z-index:30;background:rgba(2,25,18,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.10)}
.nav{max-width:1240px;margin:auto;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:58px;height:58px;border-radius:50%;background:white;box-shadow:0 0 0 2px var(--gold)}.brand-title{line-height:1}.brand-title strong{display:block;letter-spacing:.14em;color:white;font-size:1.15rem}.brand-title span{display:block;color:var(--gold);letter-spacing:.22em;font-weight:900;font-size:.78rem;margin-top:3px}.navlinks{display:flex;gap:22px;color:white;align-items:center}.navlinks a{font-weight:700;font-size:.94rem;opacity:.90}.navlinks a:hover,.navlinks a.active{color:var(--gold)}.nav-actions{display:flex;gap:10px;align-items:center}.btn{border:0;border-radius:13px;padding:12px 16px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.18s transform,.18s box-shadow,.18s background}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#092315;box-shadow:0 12px 26px rgba(246,189,38,.24)}.btn-dark{background:var(--green-900);color:white}.btn-ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);color:white}.btn-soft{background:#eef8f0;color:var(--green-900);border:1px solid #cfe2d4}.btn-outline{background:white;color:var(--green-900);border:1px solid #c9d6ce}.btn-danger{background:#fff1f0;color:#b42318;border:1px solid #ffccc7}.btn-full{width:100%}.menu-btn{display:none}
.hero{position:relative;overflow:hidden;background:var(--green-950);min-height:720px;color:white}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,25,18,.98) 0%,rgba(2,25,18,.78) 36%,rgba(2,25,18,.22) 72%,rgba(2,25,18,.72) 100%),url('assets/debate-hero-stage.jpg') center/cover no-repeat;filter:saturate(1.08) contrast(1.05)}.hero::after{content:"";position:absolute;left:-6%;right:-4%;bottom:-80px;height:190px;background:linear-gradient(135deg,#fff 0,#fff 48%,var(--gold) 48.3%,var(--gold) 62%,#07381f 62.3%);transform:rotate(-3deg);transform-origin:left center}.hero-inner{position:relative;z-index:2;max-width:1240px;margin:auto;padding:72px 20px 170px;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.eyebrow{color:var(--gold);font-weight:1000;letter-spacing:.08em;text-transform:uppercase;font-size:.84rem}.hero h1{font-size:clamp(3.3rem,7vw,6.7rem);line-height:.95;margin:14px 0 20px;letter-spacing:-.06em}.hero h1 span{color:var(--gold);display:inline-block;border-bottom:8px solid var(--gold);padding-bottom:8px}.hero p{max-width:520px;color:#eefaf1;font-size:1.08rem;line-height:1.65}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.motion-card{justify-self:end;max-width:390px;transform:rotate(4deg);background:linear-gradient(160deg,rgba(3,55,35,.96),rgba(2,25,18,.98));border:2px solid var(--gold);border-radius:34px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.36);position:relative;overflow:hidden}.motion-card::after{content:"";position:absolute;right:-40px;top:-30px;width:170px;height:170px;background:radial-gradient(circle,rgba(246,189,38,.22),transparent 62%)}.motion-card h3{margin:12px 0;color:var(--gold);font-size:.9rem;letter-spacing:.08em}.motion-card blockquote{margin:0;font-family:Georgia,serif;font-size:1.55rem;line-height:1.22;font-weight:800}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}.countdown b{display:block;font-size:1.2rem}.countdown div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:10px;text-align:center}.countdown span{font-size:.62rem;color:#d8e8dc;font-weight:800}.section{max-width:1240px;margin:auto;padding:66px 20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:0;letter-spacing:-.04em}.section-heading p{max-width:560px;color:var(--muted);line-height:1.6}.promo-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}.promo-card{border-radius:34px;overflow:hidden;background:white;box-shadow:var(--shadow);border:1px solid rgba(6,51,31,.10);position:relative}.promo-card img{width:100%;height:100%;object-fit:cover}.promo-card.text{padding:34px;background:linear-gradient(135deg,#073a24,#041c13);color:white}.promo-card.text h3{font-size:2rem;margin:0 0 10px}.promo-card.text p{color:#e0eee5;line-height:1.7}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.mini{background:white;border:1px solid rgba(6,51,31,.12);border-radius:24px;padding:22px;box-shadow:0 18px 55px rgba(2,25,18,.08)}.mini h4{margin:8px 0 8px;font-size:1.08rem}.mini .icon{font-size:2rem}.gate{background:linear-gradient(135deg,var(--green-950),var(--green-800));color:white;border-radius:34px;padding:36px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.gate::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(246,189,38,.25),transparent 65%)}.gate h2{font-size:2.7rem;line-height:1;margin:0}.gate p{color:#d9ede2;max-width:700px;line-height:1.7}.footer{background:#031b12;color:#dbe9df;padding:34px 20px;text-align:center}.footer a{color:var(--gold);font-weight:800}
.auth-page{min-height:100vh;background:linear-gradient(120deg,rgba(2,25,18,.96),rgba(6,51,31,.88)),url('assets/field-practice.png') center/cover fixed;display:grid;place-items:center;padding:28px}.auth-card{width:min(980px,100%);background:rgba(255,255,255,.94);border-radius:34px;box-shadow:var(--shadow);display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid rgba(255,255,255,.45)}.auth-side{background:linear-gradient(150deg,rgba(2,25,18,.94),rgba(9,108,73,.84)),url('assets/zidc-poster.png') center/cover;color:white;padding:32px;display:flex;flex-direction:column;justify-content:space-between}.auth-side .brand img{width:70px;height:70px}.auth-side h1{font-size:2.4rem;line-height:1;margin:30px 0 12px}.auth-form{padding:32px}.auth-form h2{font-size:2rem;margin:0 0 6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-weight:900;font-size:.85rem;color:#1c3329}.field input,.field select,.field textarea{border:1px solid #ccd8cf;border-radius:14px;padding:12px 13px;background:white;outline:none;min-height:46px}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 4px rgba(9,108,73,.10)}
.app-shell{min-height:100vh;background:#f5f7f1}.app-header{position:sticky;top:0;z-index:30;background:#031b12;color:white;border-bottom:1px solid rgba(255,255,255,.08)}.app-header-inner{max-width:1280px;margin:auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.app-header .brand img{width:50px;height:50px}.side-layout{max-width:1280px;margin:auto;padding:22px 18px 70px;display:grid;grid-template-columns:260px 1fr;gap:22px}.sidebar{position:sticky;top:88px;align-self:start;background:#062719;border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:14px;color:white;box-shadow:0 18px 55px rgba(2,25,18,.12)}.sidebar a{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;font-weight:900;color:#dff0e5}.sidebar a.active,.sidebar a:hover{background:var(--gold);color:#062719}.content{min-width:0}.dash-hero{background:linear-gradient(135deg,#073a24,#021912);color:white;border-radius:34px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.dash-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:210px;height:210px;background:radial-gradient(circle,rgba(246,189,38,.28),transparent 65%)}.dash-hero h1{font-size:2.5rem;margin:0 0 8px;letter-spacing:-.04em}.dash-hero p{color:#dcefe3;margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.stat-card{background:white;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 40px rgba(2,25,18,.06)}.stat-card b{font-size:1.8rem;color:var(--green-900);display:block}.panel{background:white;border:1px solid rgba(6,51,31,.12);border-radius:26px;padding:22px;box-shadow:0 12px 45px rgba(2,25,18,.07);margin-top:18px}.panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.panel h2,.panel h3{margin:0}.list{display:grid;gap:12px}.item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid #dbe6df;border-radius:20px;padding:14px;background:#fff}.datebox{width:58px;height:58px;border:1px solid var(--gold);border-radius:15px;display:grid;place-items:center;text-align:center;color:var(--green-800);font-weight:1000}.datebox span{display:block;color:var(--gold);font-size:.7rem}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--green-700));color:white;font-weight:1000;box-shadow:0 0 0 3px white}.avatar.small{width:30px;height:30px;font-size:.78rem}.stacked-avatars{display:flex}.stacked-avatars .avatar{margin-left:-8px}.stacked-avatars .avatar:first-child{margin-left:0}.empty{border:2px dashed #cbd9d0;border-radius:24px;padding:28px;text-align:center;background:#fbfdfb}.empty h3{font-size:1.5rem;margin:0 0 8px}.chat-wrap{display:grid;grid-template-columns:260px 1fr;gap:16px}.rooms{background:#f4f8f5;border-radius:22px;padding:12px}.room{padding:12px;border-radius:16px;font-weight:900}.room.active{background:white;box-shadow:0 8px 22px rgba(2,25,18,.08)}.chat-box{border:1px solid #dbe6df;border-radius:24px;overflow:hidden;background:#fbfdfb}.messages{height:430px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.message{display:flex;gap:10px;align-items:flex-start}.bubble{background:white;border:1px solid #e1ebe5;border-radius:18px;padding:10px 12px;max-width:650px}.bubble .meta{font-size:.78rem;color:#5d7068;margin-bottom:3px}.chat-input{display:flex;gap:10px;padding:14px;border-top:1px solid #dbe6df;background:white}.chat-input input{flex:1;border:1px solid #ccd8cf;border-radius:16px;padding:12px}.online-list{display:flex;gap:8px;flex-wrap:wrap}.member-chip{display:flex;gap:8px;align-items:center;background:#f2f8f4;border:1px solid #d6e5dc;border-radius:999px;padding:6px 10px;font-weight:800;font-size:.85rem}.modal{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:90;display:grid;place-items:center;padding:20px}.modal-card{width:min(720px,100%);max-height:90vh;overflow:auto;background:white;border-radius:28px;padding:24px;box-shadow:var(--shadow)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #e5eee8;text-align:left}.table th{font-size:.8rem;text-transform:uppercase;color:#62766d;letter-spacing:.08em}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{border:1px solid #d6e5dc;background:white;border-radius:999px;padding:10px 14px;font-weight:900;color:#143428}.tab.active{background:var(--green-900);color:white;border-color:var(--green-900)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setup-box{max-width:850px;margin:40px auto;padding:0 18px}.setup-card{background:white;border-radius:32px;padding:28px;box-shadow:var(--shadow)}
@media (max-width:960px){.navlinks{display:none}.menu-btn{display:inline-flex}.hero-inner{grid-template-columns:1fr;padding-top:44px}.motion-card{justify-self:start;transform:none}.promo-grid,.auth-card,.side-layout,.chat-wrap,.two-col{grid-template-columns:1fr}.cards,.mini-grid{grid-template-columns:1fr 1fr}.sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.nav{padding:10px 14px}.brand-title strong{font-size:.9rem}.brand img{width:48px;height:48px}.hero{min-height:auto}.hero h1{font-size:3.2rem}.hero-inner{padding-bottom:120px}.gate,.dash-hero{grid-template-columns:1fr}.cards,.mini-grid,.form-grid{grid-template-columns:1fr}.auth-form,.auth-side{padding:22px}.side-layout{padding:14px}.sidebar{grid-template-columns:1fr}.item{grid-template-columns:1fr}.nav-actions .btn-ghost{display:none}}

/* Custom Pacesetter photo gallery: real uploaded club photos */
.custom-gallery-section{padding-top:40px}.photo-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:250px;gap:18px}.photo-tile{position:relative;overflow:hidden;border-radius:28px;background:#031b12;box-shadow:0 18px 55px rgba(2,25,18,.12);border:1px solid rgba(6,51,31,.12)}.photo-tile.big{grid-row:span 2}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.03)}.photo-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(2,25,18,.82))}.photo-tile span{position:absolute;left:18px;right:18px;bottom:16px;color:white;font-weight:1000;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.35)}.gallery-gate{margin-top:24px}@media(max-width:900px){.photo-grid{grid-template-columns:1fr;grid-auto-rows:230px}.photo-tile.big{grid-row:span 1}}
