/* A deliberately quiet sports editorial system: court lines, score numerals,
   one signal colour and no ornamental motion. Shared by listing + profiles. */
:root{
  --ink:#171b1b;
  --paper:#f6f3ec;
  --panel:#eae5db;
  --line:#b7b5ac;
  --muted:#4a5250;
  --signal:#b23825;
  --signal-light:#f47960;
  color:var(--ink);
  background:var(--paper);
  font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
body{color:var(--ink);background:var(--paper)}
::selection{background:var(--signal);color:white}
a,button{transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.topbar{border-bottom:4px solid var(--signal);background:var(--ink)}
.brand{letter-spacing:-.055em}
.brand::before{
  content:"";display:inline-block;vertical-align:-2px;width:23px;height:18px;margin-right:10px;
  border:2px solid var(--signal-light);
  background:linear-gradient(90deg,transparent 48%,var(--signal-light) 48% 52%,transparent 52%);
}
.brand b{color:var(--signal-light)}
.nav a,.topbar .back{padding-block:12px;text-underline-offset:5px}
.nav a:hover,.topbar .back:hover{color:var(--signal-light)}
.eyebrow,.section-kicker,.kicker{color:var(--signal);letter-spacing:.18em;font-size:.74rem}
.page-index .intro{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--panel);border-bottom:1px solid var(--ink);
  padding:54px 0 46px;
}
.page-index .intro::after{
  content:"";position:absolute;z-index:-1;right:-110px;top:24px;
  width:540px;height:415px;border:2px solid rgba(23,27,27,.14);
  background:
    linear-gradient(90deg,transparent 13%,rgba(23,27,27,.14) 13% 13.35%,transparent 13.35% 21%,rgba(23,27,27,.14) 21% 21.35%,transparent 21.35% 49.8%,rgba(23,27,27,.14) 49.8% 50.2%,transparent 50.2% 78.65%,rgba(23,27,27,.14) 78.65% 79%,transparent 79% 86.65%,rgba(23,27,27,.14) 86.65% 87%,transparent 87%),
    linear-gradient(0deg,transparent 10%,rgba(23,27,27,.14) 10% 10.4%,transparent 10.4% 89.6%,rgba(23,27,27,.14) 89.6% 90%,transparent 90%);
  pointer-events:none;
}
.page-index .intro-grid{align-items:end;gap:56px}
.page-index .intro h1{font-size:clamp(3rem,5.5vw,5.5rem);line-height:1.09;max-width:10em}
.page-index .lead{font-size:1rem;color:var(--muted);max-width:33em}
.finding{background:var(--paper);padding:18px;border-top:4px solid var(--signal);box-shadow:8px 8px 0 rgba(23,27,27,.14)}
.finding-head{margin-bottom:15px}
.finding-head strong{font-size:1.12rem}
.finding-head small{color:var(--muted)}
.search input,.search select{border:1px solid var(--ink);height:52px}
.search input:focus,.search select:focus{border-color:var(--signal)}
.page-index .overview{padding:25px 0 22px;border-bottom:1px solid var(--ink)}
.page-index .overview .number{font-size:3.2rem;line-height:.9;color:var(--signal);font-family:Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:-.03em}
.page-index .overview .unit{font-size:.92rem}
.page-index .overview .explain{color:var(--muted)}
.directory-head{padding:36px 0 17px}
.directory-head h2{font-size:clamp(1.5rem,2vw,2rem)}
.directory-head p{color:var(--muted);font-variant-numeric:tabular-nums}
.filter-row{gap:8px;padding-bottom:18px}
.filter-row button{min-height:42px;background:transparent;border:1px solid var(--ink);padding:8px 14px;font-size:.875rem}
.filter-row button[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}
.filter-row button:hover:not([aria-pressed=true]){background:var(--panel)}
.list{border-top:3px solid var(--ink)}
.team{
  position:relative;grid-template-columns:43px minmax(0,1fr) auto;gap:16px;
  padding:22px 12px 22px 0;border-bottom:1px solid var(--line);
}
.team::before{content:"";position:absolute;left:-8px;top:0;bottom:0;width:3px;background:var(--signal);opacity:0;transition:opacity .16s ease}
.team:hover{background:#ebe7de}
.team:hover::before{opacity:1}
.team-index{font:700 1rem/1.25 Impact,"Arial Narrow",Arial,sans-serif;color:var(--signal);letter-spacing:.03em}
.team-logo{width:62px;height:62px;padding:5px;border-color:var(--line)}
.team h3{font-size:1.25rem;line-height:1.25;letter-spacing:-.04em;margin-bottom:7px}
.team h3 a{border-bottom-width:1px}
.team-meta{font-size:.85rem;line-height:1.5;color:var(--muted)}
.team-profile{font-size:.88rem;line-height:1.55;max-width:53em;color:var(--muted)}
.team-meta .record-tag{font-weight:700;color:var(--signal);letter-spacing:.01em}
.team-meta a.record-tag{text-underline-offset:3px}
.team-meta a.record-tag:hover{color:var(--ink)}
.team-meta .record-tag::before{content:"/";margin-right:10px;color:var(--line)}
.team-links{align-self:center}
.team-links a{min-height:38px;padding:6px 10px;font-size:.8rem;border-color:var(--ink)}
.team-links .detail-link{padding:6px 14px;min-width:108px;justify-content:space-between;gap:8px}
.team-links .detail-link::after{content:"↗";font-size:1.05rem;line-height:1}
.team-links a:hover{background:var(--signal);border-color:var(--signal);color:white}
.side{border-top-color:var(--signal);padding-top:17px}
.side h2{font-size:1.1rem}
.side p,.side a{font-size:.875rem;color:var(--muted)}
.side a{color:var(--ink)}
.schedule{background:var(--ink);margin-top:64px;padding:39px 0 43px}
.schedule .section-kicker{color:var(--signal-light)}
.schedule-status{border-color:#777f7b}
.schedule-status .status-dot{border-radius:50%;background:var(--signal-light);box-shadow:0 0 0 5px rgba(244,121,96,.14)}
.schedule-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,380px);gap:28px;align-items:end;margin-bottom:24px}
.schedule-heading p{max-width:31em}
.schedule-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:9px}
.schedule-filter-row{display:flex;align-items:center;gap:14px;min-width:0}
.schedule-filter-label{flex:none;min-width:64px;font-size:.875rem;font-weight:800;color:#e5e9e5}
.schedule-filter-buttons{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.schedule-filter-buttons button{min-height:44px;border:1px solid #8b9690;background:transparent;color:#fff;padding:8px 14px;font-size:.875rem;font-weight:800;cursor:pointer}
.schedule-filter-buttons button[aria-pressed=true]{background:var(--signal-light);border-color:var(--signal-light);color:var(--ink)}
.schedule-filter-buttons button:hover:not([aria-pressed=true]){border-color:#fff;background:#303937}
.schedule .schedule-filter-hint{margin:0 0 24px;font-size:.8rem;color:#bec6c0}
.calendar{max-width:840px;margin:0 auto 27px;border-top:3px solid var(--signal-light);padding-top:15px}
.calendar-toolbar{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;gap:12px;align-items:center;margin-bottom:9px}
.calendar-toolbar h3{margin:0;text-align:center;font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.calendar-toolbar button{min-height:44px;border:1px solid #a7b0aa;background:transparent;color:#fff;font-size:.875rem;font-weight:800;cursor:pointer}
.calendar-toolbar button:hover:not(:disabled){background:#fff;color:var(--ink)}
.calendar-toolbar button:disabled{opacity:.35;cursor:not-allowed}
.calendar-grid{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums}
.calendar-grid th{height:36px;font-size:.875rem;text-align:center;font-weight:800;color:#d5dad5}
.calendar-grid th:first-child{color:var(--signal-light)}
.calendar-grid td{height:75px;border:1px solid #5a635e;background:#232928;vertical-align:top;padding:0}
.calendar-grid td.calendar-outside{background:transparent}
.calendar-date-number{display:block;padding:8px 9px;font-size:1rem;font-weight:800;line-height:1.2}
.calendar-date-number[aria-current=date]{color:var(--signal-light);text-decoration:underline;text-underline-offset:4px}
.calendar-event{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;min-height:74px;padding:0;background:#34403c;color:#fff;text-decoration:none;box-shadow:inset 0 3px 0 var(--signal-light)}
.calendar-event .calendar-date-number{font-size:1.2rem;padding:5px 6px 1px;color:var(--signal-light)}
.calendar-team-labels{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:0 4px 4px;overflow:hidden}
.calendar-team-short,.calendar-team-more{display:block;max-width:100%;font-size:.75rem;line-height:1.1;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-event:hover,.calendar-event:focus-visible{background:var(--signal-light);color:var(--ink)}
.calendar-event:hover .calendar-date-number,.calendar-event:focus-visible .calendar-date-number{color:var(--ink)}
.calendar-event.is-selected{background:var(--signal-light);color:var(--ink)}
.calendar-event.is-selected .calendar-date-number{color:var(--ink)}
.calendar-event[aria-current=date] .calendar-date-number{text-decoration:underline;text-underline-offset:4px}
.calendar-weekly{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;min-height:74px;padding:0;background:#2b3430;color:#dce4dd;border:0;border-top:2px solid #87988a;text-align:left;cursor:pointer}
.calendar-weekly:hover,.calendar-weekly:focus-visible,.calendar-weekly.is-selected{background:#465149;color:#fff}
.calendar-weekly-caption{display:block;padding:0 4px 5px;font-size:.68rem;font-weight:800;white-space:nowrap}
.calendar-weekly-tag{display:block;color:#d1dbd3;font-size:.65rem;line-height:1.1;font-weight:800}
.calendar-weekly-note{margin:12px 0 0;color:#c8d0c8;font-size:.8rem}
.calendar-weekly-note[hidden]{display:none}
.calendar .calendar-month-empty{padding:11px 0 0;font-size:.875rem;color:#bec6c0}
.calendar-selected{background:#252d2a;border-left:3px solid var(--signal-light);padding:12px 14px;margin-top:12px}
.calendar-selected[hidden]{display:none}
.calendar-selected-date{display:block;color:var(--signal-light);font-size:.95rem;margin-bottom:4px}
.calendar-selected-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:0 17px}
.calendar-selected-event{display:block;min-height:50px;border-bottom:1px solid #5a635e;color:#fff;text-decoration:none;padding:7px 0}
.calendar-selected-event:hover{color:var(--signal-light)}
.calendar-selected-team{display:block;font-size:.95rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.calendar-selected-meta{display:block;color:#ccd3cd;font-size:.8rem;line-height:1.4;margin-top:2px}
.calendar-selected-weekly-heading{display:block;margin-top:9px;color:#d2ddd3;font-size:.8rem;font-weight:800}
.calendar-selected-weekly{display:block;min-height:50px;border-bottom:1px solid #5a635e;color:#e7ece7;text-decoration:none;padding:7px 0}
.calendar-selected-weekly:hover{color:#fff;text-decoration:underline}
.calendar-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:12px}
.calendar-legend[hidden]{display:none}
.calendar-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:#d7dcd7}
.calendar-legend-code{display:inline-block;background:var(--signal-light);color:var(--ink);padding:2px 5px;font-size:.72rem;font-weight:800}
.recurring-guides{max-width:840px;margin:0 auto 26px}
.recurring-guides[hidden]{display:none}
.recurring-guides-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid #737a76;padding-bottom:8px}
.recurring-guides-heading h3{margin:0;font-size:1.08rem}
.recurring-guides-heading span{color:#bac6bb;font-size:.8rem}
.recurring-list{list-style:none;margin:0;padding:0}
.recurring-list-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:13px;border-bottom:1px solid #4f5c52;padding:9px 0}
.recurring-list-day{font-size:.84rem;color:#cfdbd0}
.recurring-list-content{display:flex;flex-direction:column;gap:2px;min-width:0}
.recurring-list-content strong{font-size:.95rem;overflow-wrap:anywhere}
.recurring-list-content span{font-size:.82rem;color:#bdc9be;overflow-wrap:anywhere}
.recurring-list-item a{display:inline-flex;align-items:center;min-height:44px;color:#fff;font-size:.82rem;font-weight:800;text-underline-offset:4px;white-space:nowrap}
.recurring-list-item a:hover{color:var(--signal-light)}
.practice-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px}
.practice-list-heading h3{margin:0;font-size:1.15rem;letter-spacing:-.03em}
.practice-list-heading span{font-size:.8rem;color:#c6cac7}
.practice-list{list-style:none;margin:0;padding:0;border-top:1px solid #737a76}
.practice-list[hidden],.schedule-empty[hidden],.schedule-caution[hidden]{display:none}
.practice-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;border-bottom:1px solid #737a76;padding:19px 0;min-width:0}
.page-index .practice-item:target{background:#29302e;box-shadow:inset 3px 0 0 var(--signal-light);padding-left:10px;scroll-margin-top:16px}
.practice-date{display:flex;flex-direction:column;align-items:flex-start;font-variant-numeric:tabular-nums;line-height:1}
.practice-year{font-size:.72rem;letter-spacing:.12em;font-weight:800}
.practice-day{font:700 2.6rem/1.1 Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:-.02em}
.practice-weekday{font-size:.78rem;font-weight:800;letter-spacing:.08em}
.practice-details{min-width:0;display:flex;flex-wrap:wrap;align-content:center;align-items:baseline;gap:4px 16px}
.practice-team{margin:0;font-size:1.08rem;letter-spacing:-.02em;flex-basis:100%}
.practice-hours{font-size:1.24rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere}
.practice-type,.practice-category{display:inline-block;font-size:.75rem;font-weight:800;border:1px solid currentColor;padding:2px 6px;white-space:nowrap}
.practice-place,.practice-notice{margin:0;overflow-wrap:anywhere;flex-basis:100%}
.practice-link{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;font-weight:800;text-underline-offset:4px}
.page-index .practice-date,.page-index .practice-team,.page-index .practice-hours{color:#fff}
.page-index .practice-year,.page-index .practice-weekday{color:var(--signal-light)}
.page-index .practice-place{color:#d1d5d1}
.page-index .practice-type,.page-index .practice-category{color:var(--signal-light)}
.page-index .practice-notice{color:#bfc6c0;font-size:.82rem}
.page-index .practice-link{color:#fff}
.page-index .practice-link:hover{color:var(--signal-light)}
.schedule .schedule-caution{margin-top:18px;color:#bfc6c0;font-size:.83rem}
.schedule .schedule-empty{padding:24px 0;font-size:1rem}
.page-team .practice-list{margin-top:17px;border-color:var(--line)}
.page-team .practice-item{border-color:var(--line);grid-template-columns:100px minmax(0,1fr);gap:12px}
.page-team .practice-date{color:var(--ink)}
.page-team .practice-year,.page-team .practice-weekday{color:var(--signal)}
.page-team .practice-details{display:block}
.page-team .practice-hours{display:block;color:var(--ink);font-size:1.1rem}
.page-team .practice-type,.page-team .practice-category{color:var(--signal);margin:5px 5px 0 0}
.page-team .practice-place{margin-top:3px;font-size:.94rem}
.page-team .practice-notice{margin-top:5px;font-size:.85rem}
.page-team .schedule-caution{margin-top:15px;font-size:.87rem}
#team-schedule-section:target{scroll-margin-top:20px}
.about{padding-top:58px;padding-bottom:67px}
.about h2{font-size:1.65rem}
.about p{font-size:.97rem;color:var(--muted)}
.footer{border-top-color:var(--ink);padding-top:22px;font-size:.8rem}

.page-team .crumb{font-size:.85rem;padding:25px 0 14px;color:var(--muted)}
.page-team .hero{
  background:var(--ink);color:var(--paper);border-top:5px solid var(--signal);
  padding:38px 40px 44px;grid-template-columns:minmax(0,1fr) 175px;gap:30px;
}
.page-team .hero .kicker{color:var(--signal-light)}
.page-team .hero h1{font-size:clamp(2.6rem,5.6vw,5.1rem);line-height:1.04;margin:15px 0 23px}
.page-team .hero .area{font-size:1.1rem;margin:0 0 10px;color:var(--paper)}
.page-team .hero .note{color:#c9cec9;max-width:58em;font-size:1rem}
.page-team .hero-logo{width:175px;height:175px;border:0;padding:11px;box-shadow:8px 8px 0 var(--signal)}
.schedule-review{margin:0 0 18px;color:#c6cac7;font-size:.875rem;line-height:1.55}
.page-team .participation-panel{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;background:var(--panel);border-top:5px solid var(--signal);padding:25px 27px 27px}
.page-team .participation-heading h2{font-size:1.55rem;letter-spacing:-.045em;line-height:1.2;margin:7px 0 0}
.page-team .participation-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.page-team .participation-facts>div{border-top:1px solid var(--line);padding-top:10px;min-width:0}
.page-team .participation-label{display:block;font-size:.8rem;color:var(--muted);font-weight:800;margin-bottom:6px}
.page-team .participation-facts strong{display:block;font-size:1.03rem;line-height:1.4}
.page-team .participation-facts p{font-size:.91rem;line-height:1.6;color:var(--muted);margin:6px 0 0;overflow-wrap:anywhere}
.page-team .participation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.page-team .participation-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;text-decoration:none;border:1px solid var(--ink);font-size:.9rem;font-weight:900}
.page-team .participation-actions a[hidden]{display:none}
.page-team #participation-schedule-link{background:var(--ink);color:white}
.page-team #participation-public-link{background:white;color:var(--ink)}
.page-team .participation-actions a:hover{background:var(--signal)!important;color:white!important;border-color:var(--signal)}
.page-team .participation-caution{font-size:.8rem;line-height:1.5;color:var(--muted);margin:12px 0 0}
#team-schedule-section{scroll-margin-top:20px}
.page-team .grid{border:0;grid-template-columns:minmax(0,1fr) 310px;gap:55px;padding-top:48px}
.page-team .section{border-top:2px solid var(--ink);padding-top:19px;margin-bottom:43px}
.page-team .section h2{font-size:1.6rem;margin:7px 0 13px}
.page-team .section p{font-size:1rem;color:var(--muted);line-height:1.75}
.page-team .section .kicker{display:block}
.page-team .links a{min-height:50px;font-size:.95rem;min-width:155px;border-color:var(--ink)}
.page-team .links a:hover{background:var(--signal);border-color:var(--signal)}
.page-team .location-list{border-top:1px solid var(--line)}
.page-team .location-list li{border-color:var(--line);padding:16px 0}
.page-team .location-list strong,.page-team .location-list span{font-size:.95rem}
.page-team .result-overview{
  border-top:1px solid var(--line);padding:16px 0 13px;
  color:var(--signal);font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:1.55rem;letter-spacing:.025em;font-variant-numeric:tabular-nums;
}
.page-team .result-list{margin:0;border-top:2px solid var(--ink)}
.page-team .result-list li{
  grid-template-columns:4em minmax(0,1fr) 4em;align-items:center;gap:14px;
  min-height:69px;padding:13px 0;border-color:var(--line);font-size:.96rem;
}
.page-team .result-list li[hidden]{display:none}
.page-team .result-list time{font:700 1.1rem/1.1 Impact,"Arial Narrow",Arial,sans-serif;color:var(--signal);letter-spacing:.03em}
.page-team .result-list strong{font-size:.9rem;border:1px solid var(--ink);padding:5px 3px;text-align:center}
.page-team .result-more{display:block;width:100%;min-height:50px;background:transparent;border:1px solid var(--ink);margin-top:15px;padding:10px 14px;text-align:left;font-weight:800;color:var(--ink)}
.page-team .result-more::after{content:"＋";float:right;color:var(--signal)}
.page-team .result-more[aria-expanded=true]::after{content:"−"}
.page-team .result-more:hover{background:var(--panel)}
.page-team .result-more[hidden]{display:none}
#results-section:target{scroll-margin-top:20px}
.page-team .aside{position:sticky;top:20px;background:var(--ink);border-top:5px solid var(--signal);padding:26px}
.page-team .aside .kicker{color:var(--signal-light)}
.page-team .aside h2{font-size:1.42rem}
.page-team .aside p{font-size:.95rem}
.page-team .aside a{background:var(--signal-light);color:var(--ink);min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.95rem}
.page-team .aside a:hover{background:white}
.page-team .aside small{font-size:.8rem}
.page-team .bottom{font-size:.85rem;border-top-color:var(--ink)}

@media(max-width:900px){
  .page-index .intro-grid{gap:28px}
  .page-team .grid{grid-template-columns:minmax(0,1fr) 270px;gap:27px}
  .page-team .participation-panel{grid-template-columns:1fr;gap:15px}
}
@media(max-width:720px){
  .recurring-guides-heading{display:block}
  .recurring-guides-heading span{display:block;margin-top:3px}
  .recurring-list-item{grid-template-columns:1fr;gap:2px;padding:10px 0}
  .recurring-list-item a{justify-self:start;min-height:38px}
  .schedule-filter-row{display:block}
  .schedule-filter-label{display:block;margin-bottom:6px}
  .schedule-filter-buttons{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;max-width:100%;padding-bottom:3px}
  .schedule-filter-buttons button{flex:none;scroll-snap-align:start}
  .schedule .schedule-filter-hint{margin-bottom:17px}
  .calendar{margin-bottom:22px}
  .calendar-toolbar{grid-template-columns:56px minmax(0,1fr) 56px;gap:6px}
  .calendar-toolbar h3{font-size:1.2rem}
  .calendar-grid td{height:66px}
  .calendar-date-number{padding:7px;font-size:.94rem}
  .calendar-event{min-height:65px}
  .calendar-weekly{min-height:65px}
  .calendar-event .calendar-date-number{font-size:1.05rem;padding:4px 5px 0}
  .calendar-team-labels{padding:0 2px 3px}
  .calendar-team-short,.calendar-team-more{font-size:.75rem}
  .calendar-legend-item{font-size:.75rem}
  .practice-list-heading{display:block}
  .practice-list-heading span{display:block;margin-top:3px;font-size:.8rem}
  .schedule-heading{grid-template-columns:1fr;gap:6px;margin-bottom:15px}
  .schedule-heading p{font-size:.9rem}
  .practice-item{grid-template-columns:90px minmax(0,1fr);gap:13px;padding:17px 0}
  .practice-day{font-size:2.2rem}
  .practice-details{display:block}
  .practice-team{font-size:1rem;margin-bottom:4px}
  .practice-hours{display:block;font-size:1.14rem}
  .practice-type,.practice-category{margin:6px 5px 0 0}
  .practice-place{font-size:.88rem;margin-top:4px}
  .practice-notice{font-size:.8rem;margin-top:5px}
  .practice-link{margin:6px 0 0;min-height:44px}
  .page-team .practice-item{grid-template-columns:90px minmax(0,1fr)}
  .topbar{border-bottom-width:3px}
  .page-index .intro{padding:18px 0 17px}
  .page-index .intro::after{display:none}
  .page-index .intro-grid{gap:14px}
  .page-index .intro h1{font-size:clamp(1.6rem,7.4vw,2rem);line-height:1.23}
  .page-index .intro h1 span{display:block}
  .finding{padding:0;background:transparent;box-shadow:none;border:0}
  .finding-head{margin-bottom:8px}
  .finding-head strong{font-size:.9rem}
  .search input,.search select{height:50px}
  .directory-head{padding:18px 0 11px}
  .directory-head h2{font-size:1.32rem}
  .filter-row{padding-bottom:13px}
  .filter-row button{min-height:44px}
  .team{grid-template-columns:26px minmax(0,1fr);gap:8px;padding:16px 0 18px}
  .team::before{left:-6px}
  .team-index{font-size:.95rem}
  .team-logo{width:48px;height:48px;padding:4px}
  .team h3{font-size:1.18rem;margin-bottom:5px}
  .team-meta,.team-profile{font-size:.875rem}
  .team-meta .record-tag{flex-basis:100%}
  .team-meta .record-tag::before{display:none}
  .team-links{margin-top:8px;gap:7px}
  .team-links a{min-height:44px;font-size:.875rem;padding:8px 11px}
  .team-links .detail-link{justify-content:space-between;padding:0 15px;min-height:46px}
  .schedule{margin-top:27px;padding:31px 0 35px}
  .about{padding-top:38px;padding-bottom:44px}
  .page-team .crumb{padding:14px 0 12px;font-size:.8rem}
  .page-team .hero{grid-template-columns:minmax(0,1fr) 82px;gap:14px;padding:20px 17px 23px;border-top-width:4px}
  .page-team .hero.no-logo{grid-template-columns:1fr}
  .page-team .hero .kicker{display:block;font-size:.65rem;margin-bottom:7px}
  .page-team .hero h1{font-size:clamp(1.85rem,8vw,2.5rem);line-height:1.09;margin:0 0 12px}
  .page-team .hero .area{font-size:.93rem;margin-bottom:6px}
  .page-team .hero .note{font-size:.86rem;line-height:1.5}
  .page-team .hero-logo{width:82px;height:82px;padding:6px;box-shadow:4px 4px 0 var(--signal)}
  .page-team .participation-panel{padding:18px 16px 20px;gap:12px;margin-bottom:5px}
  .page-team .participation-heading .kicker{display:block;font-size:.68rem}
  .page-team .participation-heading h2{font-size:1.35rem;margin-top:4px}
  .page-team .participation-facts{grid-template-columns:1fr;gap:11px}
  .page-team .participation-facts strong{font-size:1rem}
  .page-team .participation-facts p{font-size:.9375rem}
  .page-team .participation-actions{margin-top:14px}
  .page-team .participation-actions a{flex:1 1 100%;font-size:.9375rem}
  .page-team .participation-caution{font-size:.8125rem}
  .page-team .grid{grid-template-columns:1fr;gap:0;padding:0 0 40px}
  .page-team .section{border-top-width:2px;padding-top:17px;margin-bottom:24px}
  .page-team .section .kicker{display:block;font-size:.67rem}
  .page-team .section h2{font-size:1.35rem;margin:5px 0 10px}
  .page-team .section p{font-size:.97rem;line-height:1.7}
  .page-team .aside{position:static;padding:21px;margin:0 0 23px}
  .page-team .result-overview{font-size:1.25rem}
  .page-team .result-list li{grid-template-columns:3.4em minmax(0,1fr) 3.8em;gap:8px;min-height:64px;font-size:.9rem}
  .page-team .result-list time{font-size:1rem}
  .page-team .result-list strong{font-size:.82rem}
}
@media(max-width:360px){
  .calendar{margin-inline:-12px}
  .calendar-toolbar{padding-inline:12px}
  .brand{font-size:.83rem}
  .brand::before{width:18px;height:16px;margin-right:5px}
  .page-index .nav{gap:0}
  .page-index .nav a{padding-inline:3px}
  .page-team .hero{grid-template-columns:minmax(0,1fr) 65px}
  .page-team .hero-logo{width:65px;height:65px}
  .page-team .hero h1{font-size:1.7rem}
}
@media(prefers-reduced-motion:reduce){a,button,.team::before{transition:none}}

/* One-session opening chant: typographic, light on the main page, and skippable. */
.entry-chant-active{overflow:hidden}
.entry-chant{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#15181b;color:#f5f3ed;isolation:isolate}
.entry-chant[hidden]{display:none}
.entry-chant::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 35%,rgba(236,87,56,.13));pointer-events:none;z-index:1}
.entry-chant-grid{position:absolute;inset:-5%;display:grid;grid-template-columns:repeat(var(--chant-columns),minmax(0,1fr));grid-template-rows:repeat(var(--chant-rows),minmax(0,1fr));align-items:center;justify-items:center;transform:rotate(-3deg) scale(1.04);pointer-events:none}
.entry-chant-word{white-space:nowrap;font-size:clamp(1rem,2.3vw,1.75rem);font-weight:900;letter-spacing:-.09em;line-height:1;color:#f5f3ed;opacity:0;transform:scale(.5) translateY(12px);animation:chant-arrive .36s cubic-bezier(.2,.8,.25,1) var(--chant-delay) forwards}
.entry-chant-word.is-accent{color:#ec5738}
.entry-chant-lead{position:absolute;top:50%;left:50%;white-space:nowrap;font-size:clamp(4.4rem,17vw,11rem);font-weight:900;letter-spacing:-.1em;line-height:1;color:#ec5738;transform:translate(-50%,-50%);text-shadow:5px 5px 0 #15181b;animation:chant-lead-out .42s ease .56s forwards;pointer-events:none}
.entry-chant-skip{position:absolute;z-index:2;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));min-width:94px;min-height:44px;padding:0 12px;border:1px solid #f5f3ed;background:#15181b;color:#f5f3ed;font-size:.82rem;font-weight:800;letter-spacing:.02em}
.entry-chant-skip span{padding-left:8px;color:#ec5738}
.entry-chant-skip:hover{background:#f5f3ed;color:#15181b}
.entry-chant.is-leaving{animation:chant-leave .45s cubic-bezier(.76,0,.24,1) forwards}
@keyframes chant-arrive{to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes chant-lead-out{to{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}
@keyframes chant-leave{to{transform:translateY(-102%)}}
@media(max-width:720px){.entry-chant-word{font-size:clamp(.95rem,4.1vw,1.15rem)}.entry-chant-lead{font-size:clamp(4.2rem,19vw,7rem)}}
@media(prefers-reduced-motion:reduce){.entry-chant{display:none!important}.entry-chant-active{overflow:auto}}
