.tablist{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:.7rem 1rem;font-family:var(--font-display);font-size:.95rem;cursor:pointer;color:var(--muted)}
.tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.seg-control{display:inline-flex;gap:.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.25rem;margin-bottom:1.5rem}
.seg-btn{background:none;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-family:var(--font-display);color:var(--muted)}
.seg-btn.is-active{background:var(--accent);color:var(--on-accent)}
.seg-panel{display:none}
.seg-panel.is-active{display:block}
.sport-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.sport-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:.45rem 1rem;cursor:pointer;font-size:.9rem;color:var(--text);transition:border-color .2s,box-shadow .2s}
.sport-chip:hover{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,184,107,.15)}
.sport-chip.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.amount-chip,.preference-chip{display:inline-block;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem;margin:.2rem;font-family:var(--font-meta);transition:transform .2s}
.amount-chip:hover{transform:scale(1.06)}
.preference-chip.is-selected{background:var(--accent);color:var(--on-accent)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}
.glass-card{background:var(--bg-elevated);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:transform .25s,border-color .25s,box-shadow .25s}
.glass-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 40px rgba(12,24,36,.14)}
.sport-card{background:var(--bg-elevated);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);transition:transform .25s,border-color .25s}
.sport-card:hover{transform:translateY(-4px);border-color:var(--accent)}
.scroll-cards{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory}
.scroll-cards > *{flex:0 0 260px;scroll-snap-align:start}
.icon-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}
.pay-icon{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1.2rem;font-family:var(--font-meta);transition:transform .2s,box-shadow .2s}
.pay-icon:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.table-wrap{overflow-x:auto;margin-bottom:2rem;border:1px solid var(--border);border-radius:var(--radius)}
table.data-table{width:100%;border-collapse:collapse;min-width:520px;background:var(--bg-elevated)}
.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}
.data-table th{font-family:var(--font-display);background:rgba(0,184,107,.06)}
.data-table tbody tr{transition:background .2s}
.data-table tbody tr:hover{background:rgba(0,184,107,.08)}
.calendar-cell{transition:box-shadow .2s}
.calendar-cell:hover{box-shadow:inset 0 0 0 2px var(--accent)}
.leaderboard tr:hover{transform:translateX(4px);transition:transform .2s}
.faq-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;background:var(--bg-elevated);overflow:hidden}
.faq-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-size:1rem;text-align:left;color:var(--text)}
.acc-icon{font-size:1.3rem;color:var(--accent);transition:transform .25s;flex-shrink:0}
.faq-item.is-open .faq-trigger .acc-icon{transform:rotate(45deg)}
.faq-body{display:none;padding:0 1.25rem 1.25rem;color:var(--muted);word-break:break-word;overflow-wrap:break-word}
.faq-item.is-open .faq-body{display:block}
.accordion-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;background:var(--bg-elevated)}
.accordion-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);text-align:left;color:var(--text)}
.accordion-body{display:none;padding:0 1.25rem 1.25rem;color:var(--muted);word-break:break-word;overflow-wrap:break-word}
.accordion-item.is-open .accordion-body{display:block}
.checklist-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;background:var(--bg-elevated)}
.checklist-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);text-align:left;color:var(--text)}
.checklist-body{display:none;padding:0 1.25rem 1.25rem;color:var(--muted)}
.checklist-item.is-expanded .checklist-body{display:block}
.timeline{list-style:none;padding:0;margin:0 0 2rem;position:relative}
.timeline:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;padding:0 0 1.75rem 3rem}
.timeline-item:before{content:"";position:absolute;left:8px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(0,184,107,.2);transition:box-shadow .25s}
.timeline-item:hover:before{box-shadow:0 0 0 7px rgba(0,184,107,.3)}
.step-num{font-family:var(--font-meta);color:var(--accent);font-weight:600}
.kyc-stepper{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1.5rem}
.kyc-step{flex:1;min-width:120px;text-align:center;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);cursor:pointer;transition:border-color .25s}
.kyc-step.is-active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,184,107,.15)}
.kyc-step .kyc-dot{display:inline-block;width:28px;height:28px;line-height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--font-meta);margin-bottom:.5rem}
.flip-card{height:300px;perspective:1000px;margin-bottom:1.5rem}
.flip-card__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s}
.flip-card:hover .flip-card__inner{transform:rotateY(180deg)}
.flip-card__front,.flip-card__back{position:absolute;inset:0;overflow-y:auto;backface-visibility:hidden;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.flip-card__back{transform:rotateY(180deg)}
.app-mockup{max-width:280px;margin:0 auto;border:8px solid var(--pitch);border-radius:32px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s}
.app-mockup:hover{transform:translateY(-6px)}
.roster-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}
.roster-body{display:none;margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}
.roster-card.is-expanded .roster-body{display:block}
.jersey-swatch{display:inline-block;width:40px;height:40px;border-radius:50%;border:2px solid var(--border);transition:transform .2s}
.jersey-swatch:hover{transform:scale(1.15)}
.doc-badge{display:inline-block;padding:.4rem .8rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin:.25rem;transition:transform .2s}
.doc-badge:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#e23;margin-right:.4rem;animation:pulse 1.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(238,34,51,.5)}70%{box-shadow:0 0 0 8px rgba(238,34,51,0)}100%{box-shadow:0 0 0 0 rgba(238,34,51,0)}}
.score-ticker{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem}
.ticker-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 0}
.ticker-track > *{flex:0 0 200px;scroll-snap-align:start;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem}
.ticker-nav{background:var(--accent);color:var(--on-accent);border:none;border-radius:50%;width:34px;height:34px;cursor:pointer;flex-shrink:0}
.disclosure-block .disclosure-body{display:none;opacity:0;transition:opacity .3s}
.disclosure-block.is-open .disclosure-body{display:block;opacity:1}
.disclosure-trigger{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-display);padding:.5rem 0}
.info-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}
.info-card-body{display:none}
.info-card.is-expanded .info-card-body{display:block;margin-top:1rem}
.info-card-trigger{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-display)}
.editorial{column-gap:2rem}
@media(min-width:780px){.editorial.two-col{column-count:2}}
.dense-list{list-style:none;padding:0;margin:0}
.dense-list li{display:block}
.dense-list li + li{border-top:1px solid var(--border);padding-top:1.5rem;margin-top:1.5rem}
.dense-list__marker{display:block;font-weight:600;color:var(--accent);margin-bottom:.5rem}
.toc-link{display:block;padding:.4rem .75rem;color:var(--muted);text-decoration:none;border-left:2px solid transparent}
.toc-link.is-active{color:var(--accent);border-left-color:var(--accent)}
.resource-link{position:relative;color:var(--link);text-decoration:none}
.resource-link:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--accent);transition:width .25s}
.resource-link:hover:after{width:100%}
.gov-links{display:flex;flex-wrap:wrap;gap:1rem}
.gov-links a{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1.2rem;text-decoration:none}
@media(max-width:640px){.card-grid{grid-template-columns:1fr}.flip-card{height:340px}}