.pw-skip-link { position:fixed; top:.5rem; left:.5rem; z-index:1100; padding:.75rem 1rem; background:#fff; color:#123; border:2px solid #2563eb; transform:translateY(-160%); }
.pw-skip-link:focus { transform:none; }
:where(a,button,select,input,summary):focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.pw-section-tabs { display:flex !important; flex-wrap:nowrap !important; gap:.4rem; overflow-x:auto; position:sticky; top:0; z-index:20; background:#fff; padding:.6rem .25rem; margin:1rem 0; border-bottom:1px solid #dbe3ed; scrollbar-width:thin; }
.pw-section-tabs a { flex:0 0 auto; min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:.6rem .9rem; border:1px solid #dbe3ed; border-radius:.5rem; text-decoration:none; color:#334155; font-weight:600; font-size:.88rem; }
.pw-section-tabs a[aria-selected="true"] { background:#2563eb; border-color:#2563eb; color:#fff; }
.pw-section-panel { min-width:0; scroll-margin-top:85px; }
.pw-profile-page section[id], .pw-tendency-rink { scroll-margin-top:85px; }
.pw-section-panel[hidden] { display:none !important; }
.pw-map-inspector { margin:.8rem 0; padding:1rem; border:1px solid #dbe3ed; border-radius:.75rem; background:#f8fafc; min-height:120px; }
.pw-map-inspector > p { margin:.35rem 0 .65rem; }
.pw-map-inspector dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:.75rem 0; }
.pw-map-inspector dt { font-size:.8rem; color:#475569; font-weight:500; }
.pw-map-inspector dd { font-size:1.5rem; color:#0f172a; font-weight:700; margin:0; }
.pw-shot-data-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-bottom:.4rem; }
.pw-shot-data-metrics dt { font-size:.8rem; font-weight:400; color:#475569; }
.pw-shot-data-metrics dd { font-weight:600; margin:0; }
.pw-shot-picker { margin-top:.8rem; min-width:0; }
.pw-shot-picker label { display:block; margin-bottom:.4rem; font-weight:600; font-size:.85rem; }
.pw-shot-picker select { width:100%; min-width:0; text-overflow:ellipsis; }
.pw-map-marker { cursor:pointer; }
.pw-map-marker.is-selected > :not(title):not(:last-child), .pw-map-marker:focus > :not(title):not(:last-child) { stroke:#dc2626; stroke-width:1.2; opacity:1; }
.pw-map-marker:focus { outline:none; }
.pw-leaderboard-mobile-top > :first-child { min-width:0; overflow-wrap:anywhere; }
.pw-leaderboard-mobile-accuracy { min-width:76px; }
.pw-table-scroll-hint { font-size:.8rem; color:#475569; margin:.25rem 0 .5rem; }
.table-responsive:focus-visible { outline:3px solid #2563eb; outline-offset:2px; }
.pw-datahub-nav { gap:.4rem; }
.pw-datahub-nav a { min-height:40px; display:inline-flex; align-items:center; }
.pw-datahub-nav a[aria-current="page"] { background:#eff6ff; color:#1d4ed8; font-weight:700; border-radius:.4rem; }
main summary { padding-block:.65rem; cursor:pointer; }
.pw-page-outline { padding:.25rem 1rem; margin:0 0 1.25rem; border:1px solid #dbe3ed; border-radius:.75rem; background:#f8fafc; }
.pw-page-outline summary { font-weight:600; }
.pw-page-outline nav { display:flex; flex-wrap:wrap; gap:.5rem; padding-bottom:.75rem; }
.pw-page-outline a { padding:.5rem .7rem; background:white; border:1px solid #dbe3ed; border-radius:.4rem; font-size:.85rem; }
main h2[id] { scroll-margin-top:85px; }
@media(max-width:575.98px) {
  .pw-section-tabs { margin-inline:-.25rem; }
  .pw-profile-page .pw-profile-jumps.pw-section-tabs { display:flex; }
  .pw-section-tabs a { font-size:.82rem; }
  main .form-select, main .form-control, main .btn { min-height:44px; }
  main .d-flex.flex-wrap > label { max-width:100%; }
  main .d-flex.flex-wrap > label > select { max-width:100%; }
  .pw-map-inspector dd { font-size:1.3rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
