.tab-list{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.tab-btn{font-family:var(--font-meta);font-size:.8rem;background:none;border:none;border-bottom:2px solid transparent;padding:.75rem 1rem;cursor:pointer;color:var(--muted)}
.tab-btn:hover{color:var(--text)}
.tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.tab-panel .card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.seg-control{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}
.seg-btn{font-family:var(--font-meta);font-size:.8rem;background:var(--bg-elevated);border:none;padding:.6rem 1.2rem;cursor:pointer;color:var(--muted)}
.seg-btn+.seg-btn{border-left:1px solid var(--border)}
.seg-btn.is-active{background:var(--accent);color:var(--on-accent)}
.seg-panel{display:none}
.seg-panel.is-active{display:block}
.platform-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.platform-seg label{padding:.6rem 1.2rem;cursor:pointer;font-family:var(--font-meta);font-size:.8rem}
.platform-seg input{position:absolute;opacity:0}
.platform-seg input:checked+label{background:var(--accent);color:var(--on-accent)}
.sport-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.sport-chip{font-family:var(--font-meta);font-size:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .9rem;cursor:pointer;color:var(--muted)}
.sport-chip:hover{border-color:var(--accent);color:var(--text)}
.sport-chip.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.sport-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}
.sport-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:border-color .2s}
.sport-card:hover{border-color:var(--accent)}
.faq-list{margin-bottom:2rem}
.faq-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem}
.faq-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text)}
.acc-icon{font-family:var(--font-meta);transition:transform .2s;flex-shrink:0;margin-left:1rem;color:var(--accent)}
.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}
.accordion-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem}
.acc-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-weight:600;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}
.accordion-item.is-open .acc-icon{transform:rotate(45deg)}
.checklist{list-style:none;padding:0;margin:0 0 2rem}
.checklist-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem}
.checklist-item>[data-toggle],.checklist-item>.acc-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:none;border:none;padding:.9rem 1.25rem;cursor:pointer;font-weight:600;color:var(--text)}
.checklist-body{display:none;padding:0 1.25rem 1.25rem;color:var(--muted)}
.checklist-item.is-expanded .checklist-body{display:block}
.checklist-item.is-expanded .acc-icon{transform:rotate(45deg)}
.doc-checklist{list-style:none;padding:0;margin:0 0 2rem}
.doc-checklist li{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.25rem;margin-bottom:.5rem;transition:border-color .2s}
.doc-checklist li:hover{border-color:var(--accent)}
.doc-checklist li::before{content:"\2713";color:var(--accent);font-weight:700;flex-shrink:0}
.doc-checklist li.is-done{text-decoration:line-through;color:var(--muted)}
.timeline{position:relative;list-style:none;padding:0;margin:0 0 2rem}
.timeline::before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;padding:0 0 1.75rem 2.5rem}
.timeline-item::before{content:"";position:absolute;left:4px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid var(--bg)}
.timeline-item h3{font-family:var(--font-display);font-size:1rem;margin:0 0 .35rem}
.timeline-item .tl-meta{font-family:var(--font-meta);font-size:.75rem;color:var(--gold)}
.flip-card{height:300px;perspective:1000px;margin-bottom:1rem}
.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{position:relative;width:240px;max-width:100%;margin:0 auto;border:8px solid var(--pitch);border-radius:28px;background:var(--bg-elevated);aspect-ratio:9/19;overflow:hidden;box-shadow:var(--shadow)}
.app-mockup__notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:18px;background:var(--pitch);border-radius:0 0 12px 12px;z-index:2}
.app-mockup__screen{padding:2rem 1rem 1rem}
.app-mockup__bar{height:10px;background:var(--border);border-radius:4px;margin-bottom:.75rem}
.app-mockup__bar.accent{background:var(--accent);width:60%}
.ticker{overflow:hidden;background:var(--pitch);color:var(--on-pitch-muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ticker *{color:inherit}
.ticker__track{display:inline-flex;gap:2.5rem;white-space:nowrap;font-family:var(--font-meta);font-size:.78rem;padding:.6rem 0;animation:ticker 24s linear infinite}
.ticker__track span{color:var(--link-on-dark)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.table-scroll-x,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:2rem;border:1px solid var(--border);border-radius:var(--radius)}
.cmp-table{width:100%;border-collapse:collapse;min-width:560px}
.cmp-table th,.cmp-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}
.cmp-table th{font-family:var(--font-meta);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg)}
.cmp-table tbody tr:hover{background:var(--bg)}
.cmp-table .odds{color:var(--gold);font-family:var(--font-meta);font-weight:500}
.step-indicator{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.step-indicator .step{flex:1;min-width:80px;text-align:center;font-family:var(--font-meta);font-size:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);cursor:pointer}
.step-indicator .step.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.step-cards{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}
.step-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:transform .2s,box-shadow .2s}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.step-card .step-num{font-family:var(--font-meta);font-size:.8rem;color:var(--gold);display:block;margin-bottom:.5rem}
.promo-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;margin-bottom:1rem}
.promo-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(28,28,30,.12);border-color:var(--accent)}
.feature-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:transform .25s}
.feature-card:hover{transform:perspective(600px) rotateX(2deg) translateY(-3px)}
.method-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.method-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.doc-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:border-color .25s,transform .25s}
.doc-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.dense-list{list-style:none;padding:0;margin:0}
.dense-list li{display:block;padding:1.5rem 0}
.dense-list li+li{border-top:1px solid var(--border)}
.dense-list__marker{display:block;font-weight:600;color:var(--accent);margin-bottom:.5rem;font-family:var(--font-meta);font-size:.85rem}
.badge{display:inline-block;font-family:var(--font-meta);font-size:.7rem;background:var(--gold);color:#fff;padding:.25rem .6rem;border-radius:var(--radius);transition:transform .2s}
.badge:hover{transform:scale(1.08)}
.principle-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;counter-increment:principle;position:relative}
.principle-card::before{content:counter(principle,decimal-leading-zero);font-family:var(--font-meta);font-size:.85rem;color:var(--gold);display:block;margin-bottom:.5rem}
.principles-grid{counter-reset:principle;display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}
@media(min-width:640px){.sport-grid{grid-template-columns:repeat(2,1fr)}.step-cards{grid-template-columns:repeat(3,1fr)}.principles-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:780px){.sport-grid{grid-template-columns:repeat(3,1fr)}.principles-grid{grid-template-columns:repeat(3,1fr)}}