.hub-tabs{margin-bottom:2rem}
.tab-bar{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}
.tab-btn{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:none;border:none;border-bottom:3px solid transparent;padding:.65rem 1rem;cursor:pointer;color:var(--muted);font-size:1rem}
.tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}
.s-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.s-card:hover{transform:translateY(-4px) skewY(-.4deg);box-shadow:0 10px 24px rgba(21,32,16,.18)}
.s-card h3{font-family:var(--font-display);margin:0 0 .5rem}
.seg-control{margin-bottom:2rem}
.seg-bar{display:inline-flex;flex-wrap:wrap;gap:.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.25rem;margin-bottom:1.25rem}
.seg-btn{font-family:var(--font-meta);border:none;background:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;color:var(--muted);font-size:.85rem}
.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{font-family:var(--font-meta);font-size:.8rem;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);padding:.45rem .9rem;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.sport-chip:hover{border-color:var(--accent)}
.sport-chip.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.sport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}
.sport-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.method-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.faq-list{margin-bottom:2rem}
.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;text-align:left;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--text)}
.acc-icon{font-family:var(--font-meta);color:var(--accent);transition:transform .25s ease;flex-shrink:0}
.faq-item.is-open .faq-trigger .acc-icon{transform:rotate(45deg)}
.faq-body{display:none;padding:0 1.25rem 1.25rem;word-break:break-word;overflow-wrap:break-word}
.faq-item.is-open .faq-body{display:block}
details.faq-details{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);margin-bottom:.75rem;padding:0 1.25rem}
details.faq-details summary{cursor:pointer;padding:1rem 0;font-family:var(--font-display);font-weight:700;list-style:none}
details.faq-details summary::-webkit-details-marker{display:none}
details.faq-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
details.faq-details[open] summary{color:var(--accent)}
details.faq-details > *:not(summary){padding-bottom:1rem;word-break:break-word}
.accordion{margin-bottom:2rem}
.accordion-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;background:var(--bg-elevated);overflow:hidden}
.accordion-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--text)}
.accordion-body{display:none;padding:0 1.25rem 1.25rem;word-break:break-word;overflow-wrap:break-word}
.accordion-item.is-open .accordion-body{display:block}
.accordion-item.is-open .accordion-trigger .acc-icon{transform:rotate(45deg)}
.checklist{margin-bottom:2rem}
.checklist-item{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);margin-bottom:.6rem;background:var(--bg-elevated)}
.checklist-item.is-expanded{border-left-color:var(--accent)}
.checklist-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;text-align:left;padding:.85rem 1rem;cursor:pointer;font-weight:600;color:var(--text)}
.checklist-body{display:none;padding:0 1rem 1rem;word-break:break-word}
.checklist-item.is-expanded .checklist-body{display:block}
.toggle-panel{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);margin-bottom:.75rem;transition:border-left-color .25s ease}
.toggle-panel.is-open{border-left-color:var(--accent)}
.toggle-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;text-align:left;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--text)}
.toggle-body{display:none;padding:0 1.25rem 1.25rem;word-break:break-word}
.toggle-panel.is-open .toggle-body{display:block}
.disclosure-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);margin-bottom:.75rem;transition:border-color .2s ease}
.disclosure-block:hover{border-color:var(--accent)}
.disclosure-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;text-align:left;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-weight:700;color:var(--text)}
.disclosure-body{display:none;padding:0 1.25rem 1.25rem;word-break:break-word}
.disclosure-block.is-open .disclosure-body{display:block}
.timeline{position:relative;margin:0 0 2rem;padding-left:2rem}
.timeline::before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;margin-bottom:1.5rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}
.timeline-item::before{content:"";position:absolute;left:-1.75rem;top:1.2rem;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);transition:transform .2s ease}
.timeline-item:hover::before{transform:scale(1.3)}
.step-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
.step-item{flex:1;min-width:140px;text-align:center;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);padding:1rem;background:var(--bg-elevated)}
.step-item .step-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--border);font-family:var(--font-meta);margin-bottom:.5rem;transition:background .2s,color .2s,transform .2s}
.step-item:hover .step-num{transform:scale(1.1)}
.step-item.is-current .step-num,.step-item.is-done .step-num{background:var(--accent);color:var(--on-accent)}
.radio-step-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}
.radio-step{flex:1;min-width:150px;border:2px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;background:var(--bg-elevated);transition:border-color .2s}
.radio-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.radio-step.is-selected{border-color:var(--accent)}
.radio-step-panel{display:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:2rem}
.radio-step-panel.is-active{display:block}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}
.compare-toggles{display:flex;gap:.5rem;margin-bottom:1rem}
.compare-toggle{font-family:var(--font-meta);border:1px solid var(--border);background:var(--bg-elevated);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;color:var(--muted)}
.compare-toggle.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.compare-col{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:border-color .2s,box-shadow .2s}
.compare-col.is-highlight{border-color:var(--accent);box-shadow:var(--shadow)}
.app-mockup{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;margin-bottom:2rem}
.device-frame{flex:0 0 220px;height:440px;max-width:100%;margin:0 auto;background:var(--pitch);border:8px solid #0c130a;border-radius:28px;box-shadow:var(--shadow);position:relative}
.device-frame::before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);width:60px;height:6px;border-radius:3px;background:var(--on-pitch-muted)}
.mockup-bullets{flex:1;min-width:240px}
.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 ease}
.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.25rem}
.flip-card__back{transform:rotateY(180deg)}
.ticker{overflow:hidden;white-space:nowrap;background:var(--pitch);color:var(--text-light);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);padding:.6rem 0;margin-bottom:2rem}
.ticker *{color:inherit}
.ticker__track{display:inline-block;animation:ticker 22s linear infinite}
.ticker__track span{font-family:var(--font-meta);margin:0 1.5rem;text-transform:uppercase;letter-spacing:.05em}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pulse-badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-meta);font-size:.8rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem}
.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.6s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,92,26,.6)}70%{box-shadow:0 0 0 10px rgba(255,92,26,0)}100%{box-shadow:0 0 0 0 rgba(255,92,26,0)}}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}
.stat-cell{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center}
.stat-num{font-family:var(--font-display);font-weight:800;font-size:2.5rem;color:var(--accent);display:block}
.stat-label{font-family:var(--font-meta);font-size:.8rem;color:var(--muted)}
.mono-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.mono-chip{font-family:var(--font-meta);font-size:.78rem;background:var(--pitch);color:var(--text-light);padding:.35rem .75rem;border-radius:var(--radius)}
.mono-chip{color:var(--gold)}
.dense-list{list-style:none;padding:0;margin:0 0 2rem}
.dense-list li{display:block;padding:1rem 0}
.dense-list li+li{border-top:1px solid var(--border);padding-top:1.5rem}
.dense-list__marker{display:block;font-weight:600;color:var(--accent);margin-bottom:.5rem;font-family:var(--font-meta)}
.read-more .read-more-extra{display:none}
.read-more.is-open .read-more-extra{display:block}
.read-more-btn{font-family:var(--font-meta);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:32px;height:32px;cursor:pointer;color:var(--accent);font-size:1.1rem;margin-top:.75rem}
.block-accent{border-left:3px solid var(--border);padding-left:1rem;margin-bottom:1.5rem;transition:border-color .25s}
.block-accent:hover{border-left-color:var(--accent)}
@media(max-width:780px){.stat-row{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr}}
@media(max-width:640px){.timeline{padding-left:1.5rem}}
@media(prefers-reduced-motion:reduce){.ticker__track,.pulse-dot{animation:none!important}.flip-card:hover .flip-card__inner{transform:none}.s-card:hover{transform:none}}
