.tabs-bar{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}
.tab-btn{background:none;border:none;border-bottom:3px solid transparent;padding:.7rem 1rem;font-family:var(--font);font-weight:600;font-size:1rem;color:var(--muted);cursor:pointer}
.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-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:640px){.tab-grid{grid-template-columns:1fr}}
.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;flex-wrap:wrap}
.seg-btn{background:none;border:none;padding:.5rem 1rem;border-radius:10px;font-family:var(--font);font-weight:600;cursor:pointer;color:var(--muted)}
.seg-btn.is-active{background:var(--accent);color:var(--on-accent)}
.seg-panel{display:none;animation:fadeIn .35s ease}
.seg-panel.is-active{display:block}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.sport-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.sport-chip,.news-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:.45rem 1rem;font-family:var(--font-meta);font-size:.8rem;cursor:pointer;color:var(--text)}
.sport-chip:hover,.news-chip:hover{border-color:var(--accent)}
.sport-chip.is-active,.news-chip.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.sport-card,.discipline-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,border-color .25s ease}
.discipline-card:hover{border-color:var(--accent);box-shadow:0 0 0 2px rgba(232,93,59,.25),var(--shadow)}
.faq-list{max-width:780px}
.faq-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}
.faq-item:hover{background:#fff}
.faq-trigger{width:100%;text-align:left;background:none;border:none;padding:1rem 1.25rem;font-family:var(--font-display);font-weight:500;font-size:1.05rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--text)}
.acc-icon{font-size:1.4rem;color:var(--accent);transition:transform .25s ease}
.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}
.faq-item.is-open .faq-trigger .acc-icon{transform:rotate(45deg)}
.accordion-item,.checklist-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}
.accordion-trigger,.checklist-trigger{width:100%;text-align:left;background:none;border:none;padding:1rem 1.25rem;font-family:var(--font-display);font-weight:500;font-size:1.05rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--text)}
.accordion-body,.checklist-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}
.checklist-item.is-expanded .checklist-body{display:block}
.accordion-item.is-open .acc-icon,.checklist-item.is-expanded .acc-icon{transform:rotate(45deg)}
.timeline,.phase-timeline{position:relative;padding-left:1.5rem;margin:1.5rem 0}
.timeline::before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;padding:0 0 1.5rem 1.25rem}
.timeline-item::before{content:"";position:absolute;left:-1.5rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}
.phase-step,.wt-step{display:inline-block;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem 1rem;margin:.25rem;font-family:var(--font-meta);font-size:.8rem;cursor:pointer}
.phase-step.is-active,.wt-step.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.phase-detail{display:none}
.phase-detail.is-active{display:block}
.flip-card{height:320px;perspective:1000px;margin-bottom:1rem}
.flip-card__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s ease}
.flip-card.is-flipped .flip-card__inner{transform:rotateY(180deg)}
.flip-card__front,.flip-card__back{position:absolute;inset:0;overflow-y:auto;backface-visibility:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);padding:1.25rem}
.flip-card__back{transform:rotateY(180deg)}
.app-mockup{max-width:300px;margin:0 auto;border:8px solid var(--pitch);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.app-mockup img{display:block;width:100%}
.preview-panel{display:none}
.preview-panel.is-active{display:block}
.device-radios{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.25rem}
.device-radios label{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:.45rem 1rem;cursor:pointer;font-size:.85rem}
.device-radios input{position:absolute;opacity:0}
.device-radios input:checked+span{color:var(--accent);font-weight:700}
.live-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--pitch);color:var(--text-light);padding:.4rem .9rem;border-radius:999px;font-family:var(--font-meta);font-size:.8rem}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,93,59,.6)}70%{box-shadow:0 0 0 10px rgba(232,93,59,0)}100%{box-shadow:0 0 0 0 rgba(232,93,59,0)}}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem}
table.data-table{width:100%;border-collapse:collapse;min-width:560px}
.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-meta);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg)}
.data-table tbody tr:hover{background:rgba(184,149,107,.1)}
.data-table td:hover{background:rgba(232,93,59,.08)}
.data-table tr.top-rank td:first-child{color:var(--gold);font-weight:700}
.rank-table tbody tr:hover{box-shadow:inset 3px 0 0 var(--accent)}
.squad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.squad-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}
.squad-card:hover{transform:rotate(-1deg) translateY(-3px)}
.article-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.article-card:hover{transform:translateY(-4px);box-shadow:0 8px 26px rgba(47,58,46,.14)}
.mono-date{font-family:var(--font-meta);font-size:.75rem;color:var(--gold);letter-spacing:.05em}
.promo-card,.method-card,.doc-card,.step-card,.notice-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.promo-card:hover{box-shadow:0 10px 30px rgba(47,58,46,.16)}
.doc-card:hover,.step-card:hover{transform:translateY(-4px)}
.notice-card:hover{border-color:var(--accent)}
.doc-panel{display:none}
.doc-panel.is-active{display:block}
.feature-row{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--border);transition:background .2s ease}
.feature-row:hover{background:rgba(184,149,107,.08)}
.security-tip{border-left:3px solid var(--border);padding:.75rem 1rem;margin-bottom:.75rem;transition:border-color .2s ease}
.security-tip:hover{border-left-color:var(--accent)}
.flow-diagram{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.flow-node{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;transition:transform .2s ease,border-color .2s ease}
.flow-node:hover{transform:scale(1.04);border-color:var(--accent)}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-weight:700;flex-shrink:0;transition:box-shadow .2s ease}
.step-num:hover{box-shadow:0 0 0 4px rgba(232,93,59,.25)}
.seq-step{padding:1rem 0}
.dense-list{list-style:none;padding:0;margin:0}
.dense-list li{display:block}
.dense-list__marker{display:block;font-weight:600;color:var(--accent);margin-bottom:.5rem}
.dense-list li+li{border-top:1px solid var(--border);padding-top:1.5rem;margin-top:1.5rem}
.toc-link,.section-nav-link,.step-spy-link{display:block;padding:.4rem 0;color:var(--link);text-decoration:none;border-bottom:1px solid transparent}
.toc-link:hover,.section-nav-link:hover{border-bottom-color:var(--accent)}
.toc-link.is-active,.section-nav-link.is-active,.step-spy-link.is-active{color:var(--accent);font-weight:600}
.login-check{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem 0;cursor:pointer}
.login-check::before{content:"";width:20px;height:20px;border:2px solid var(--border);border-radius:5px;flex-shrink:0;margin-top:2px}
.login-check.is-checked::before{background:var(--accent);border-color:var(--accent)}
.gov-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.pulse-ring{animation:ctaPulse 1.5s ease}
@keyframes ctaPulse{0%{box-shadow:0 0 0 0 rgba(232,93,59,.5)}100%{box-shadow:0 0 0 16px rgba(232,93,59,0)}}
details.resource{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem;background:var(--bg-elevated)}
details.resource summary{cursor:pointer;font-weight:600;font-family:var(--font-display)}
@media(prefers-reduced-motion:reduce){.live-dot,.pulse-ring,.flip-card__inner,.seg-panel{animation:none!important;transition:none!important}}