.playoff-detail-back-link,.tournament-detail-back-link{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .4rem;color:var(--theme-text-muted);font-size:.88rem;font-weight:600;text-decoration:none}.playoff-detail-back-link:hover,.tournament-detail-back-link:hover{color:var(--theme-accent-brand);text-decoration:underline;text-underline-offset:.18rem}.playoff-detail-back-link:focus-visible,.tournament-detail-back-link:focus-visible{outline:var(--theme-focus-brand);outline-offset:2px}.playoffs-page{max-width:56rem;margin:0 auto;padding:1.5rem 0;color:var(--theme-text-primary)}.playoffs-hero{margin-bottom:2rem}.playoffs-eyebrow{margin:0 0 .35rem;font-size:.78rem;font-weight:800;line-height:1.3;text-transform:uppercase;letter-spacing:.08em;color:var(--theme-text-muted)}.playoffs-hero h1{margin:0 0 .5rem;font-size:1.4rem;font-weight:700;line-height:1.15;text-wrap:balance}.playoffs-lede{margin:0;color:var(--theme-text-muted)}.playoffs-hero__actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;margin-top:.5rem}.playoffs-hero__actions .season-selector{margin-left:auto}.playoffs-hero-crosslink{display:inline-block;padding:.35rem 0;font-size:.88rem;font-weight:600;color:var(--theme-accent-brand);text-decoration:none}.playoffs-hero-crosslink:hover{color:var(--theme-accent-brand-hover);text-decoration:underline;text-underline-offset:.18rem}.playoffs-hero-crosslink:focus-visible{outline:var(--theme-focus-brand);outline-offset:2px}.playoffs-filters{margin-bottom:1.5rem}.playoffs-sport-nav{display:flex;gap:.4rem;flex-wrap:wrap;min-width:0}.playoffs-sport-nav__link{display:inline-flex;align-items:center;min-height:2.25rem;padding:.3rem .85rem;border:1px solid var(--theme-border-strong);border-radius:999px;background:var(--theme-bg-soft-strong);color:var(--theme-text-primary);font-size:.85rem;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.playoffs-sport-nav__link:hover{background:var(--theme-bg-soft-hover);border-color:var(--theme-accent-brand)}.playoffs-sport-nav__link:focus-visible{outline:var(--theme-focus-brand);outline-offset:2px}.playoffs-sport-nav__link--active{background:var(--theme-accent-brand);border-color:var(--theme-accent-brand);color:var(--theme-bg-surface);font-weight:800}.playoffs-sport-nav__link--active:hover{background:var(--theme-accent-brand-hover);border-color:var(--theme-accent-brand-hover);color:var(--theme-bg-surface)}.season-selector--playoffs .season-selector__select{border:1px solid var(--theme-border-strong);background:var(--theme-bg-muted);border-radius:0}.season-selector--playoffs .season-selector__label{color:var(--theme-text-muted)}.playoffs-sport-heading{display:inline-flex;align-items:center;gap:.4rem;color:inherit;text-decoration:none}.playoffs-sport-heading:hover,.playoffs-sport-heading:focus-visible{color:var(--theme-accent-brand-hover);text-decoration:underline;text-underline-offset:.18rem}.playoffs-sport-heading:focus-visible{outline:var(--theme-focus-brand);outline-offset:2px}@media(min-width:960px){.playoffs-page .sports-hub-postseason-teams{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1400px){.playoffs-page .sports-hub-postseason-teams{grid-template-columns:repeat(2,minmax(0,1fr))}}.postseason-sport-link{color:var(--theme-text-primary);text-decoration:none}.postseason-sport-link:hover,.postseason-sport-link:focus-visible{color:var(--theme-accent-brand-hover);text-decoration:underline;text-underline-offset:.18rem}.postseason-sport-link:focus-visible{outline:var(--theme-focus-brand);outline-offset:2px}.playoffs-empty{padding:2rem 0;margin:0;color:var(--theme-text-muted);font-style:italic}.playoffs-error{padding:1rem 0 2rem;margin:0;color:var(--theme-danger);font-weight:600}.playoffs-error__retry{color:inherit;text-decoration:underline;text-underline-offset:.18rem}.playoffs-error__retry:focus-visible{outline:var(--theme-focus-brand);outline-offset:2px}.playoff-detail-page{max-width:100%;margin:0 auto;padding:1.5rem 0;color:var(--theme-text-primary)}.playoff-detail-hero{max-width:56rem;margin:0 auto 2rem}.playoff-detail-eyebrow{margin:0 0 .35rem;font-size:.78rem;font-weight:800;line-height:1.3;text-transform:uppercase;letter-spacing:.08em;color:var(--theme-text-muted)}.playoff-detail-hero h1{margin:0 0 .5rem;font-size:1.4rem;font-weight:700;line-height:1.15;text-wrap:balance}.playoff-detail-meta{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.9rem;color:var(--theme-text-muted)}.playoff-detail-meta__item{white-space:nowrap}.playoff-detail-documents{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.playoff-detail-doc-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--theme-accent-brand);text-decoration:none;padding:.2rem .5rem;border:1px solid var(--theme-border-default);border-radius:.35rem;transition:background-color .15s ease}.playoff-detail-doc-link:hover{background:var(--theme-bg-soft)}.playoff-detail-doc-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:.05rem .3rem;border-radius:.2rem;background:var(--theme-bg-muted);color:var(--theme-text-muted)}.playoff-detail-bracket{max-width:100%;padding-bottom:1rem}.playoff-detail-empty,.playoff-detail-error{max-width:56rem;margin:0 auto;padding:1rem 0}.playoff-detail-empty{color:var(--theme-text-muted);font-style:italic}.playoff-detail-error{color:var(--theme-danger)}.playoff-bracket-scroll{overflow-x:auto;padding:.5rem 0 1rem}.playoff-bracket-svg{display:block}.playoff-bracket-svg a{cursor:pointer}.playoff-bracket-svg a:hover .playoff-bracket-card{stroke:var(--theme-accent-brand)}.playoff-bracket-svg a:focus-visible{outline:2px solid var(--theme-accent-brand);outline-offset:2px;border-radius:4px}
