/* Intent-based navigation. Keep the close control and utilities reachable
   while the activity list scrolls independently on short phones. */
#club-drawer { display:flex;flex-direction:column;overflow:hidden;gap:16px;padding-block:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-bottom)); }
#club-drawer .drawer-heading { flex-shrink:0;min-height:44px; }
/* The header owns the brand. Mobile drawers need a menu label, not a second logo. */
@media(min-width:1100px) { #club-drawer .drawer-heading { display:none; } }
.drawer-scroll-region { flex:1;min-height:0;position:relative;overflow:hidden; }
#club-drawer .drawer-navigation { height:100%;overflow-y:auto;overscroll-behavior:contain;display:block;scroll-padding-block:8px;scrollbar-width:thin;scrollbar-color:var(--muted) var(--surface);padding-bottom:20px; }
.drawer-scroll-cue { display:none;position:absolute;bottom:0;right:0;pointer-events:none;background:var(--surface);color:var(--accent);font-size:var(--text-xs);padding:3px 12px;border-radius:4px 0 0 0;box-shadow:0 -4px 10px var(--surface); }
.has-more>.drawer-scroll-cue { display:block; }
#club-drawer .has-more>.drawer-navigation { height:calc(100% - 24px); }
.drawer-group + .drawer-group { margin-top:16px;padding-top:12px;border-top:1px solid var(--line); }
.drawer-group h2 { font:700 var(--text-xs)/1.4 var(--font-body);color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 12px 4px; }
#club-drawer .drawer-group button { width:100%;min-height:44px;padding:10px 12px;font-size:var(--text-sm);line-height:1.4; }
#club-drawer .drawer-utilities { border-top:1px solid var(--line);padding-top:8px;flex-shrink:0; }
.drawer-utilities>button { display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;min-height:44px;padding:8px 12px;font-size:var(--text-sm);border-radius:var(--radius-sm); }
.drawer-utilities>button[aria-current=page] { color:var(--accent);background:var(--raised);box-shadow:inset 3px 0 var(--accent); }
.drawer-utilities>button small { color:var(--muted);font-size:var(--text-xs);white-space:nowrap; }
.drawer-utilities>p { margin:8px 12px 0;color:var(--muted);font-size:var(--text-xs); }
#club-drawer button:focus-visible { outline:2px solid var(--accent);outline-offset:-2px; }
.opponents-heading .opponents-lede { font-size:var(--text-lg);font-weight:600;color:var(--text);margin-bottom:12px; }
.opponents-disclosure { margin-top:20px;border-left:3px solid var(--accent);padding:4px 0 4px 16px;color:var(--muted);font-size:var(--text-sm);max-width:70ch; }
.opponents-disclosure strong { color:var(--text); }
.opponents-tools { display:flex;align-items:end;justify-content:space-between;gap:16px;margin:28px 0 20px; }
.opponents-tools p { color:var(--muted);font-size:var(--text-sm);padding-bottom:12px; }
.opponents-tools label { display:grid;gap:6px;font-size:var(--text-xs);color:var(--muted); }
.opponents-tools select { min-height:44px;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:8px 36px 8px 12px;font:inherit;font-size:var(--text-base); }
.opponents-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start; }
.opponent-profile { border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;background:var(--surface);overflow:hidden; }
.opponent-intro { display:flex;align-items:center;gap:20px;margin-bottom:20px; }
.opponent-intro img { flex-shrink:0;width:112px;height:112px;border-radius:50%;object-fit:cover;background:#142337;border:2px solid #bca773; }
.opponent-intro>div { min-width:0; }
.opponent-city { color:var(--muted);font-size:var(--text-xs); }
.opponent-intro h2 { font-size:var(--text-xl);line-height:1.15;margin:4px 0; }
.opponent-intro>a{flex-shrink:0}.opponent-intro h2 a,.opponent-intro h1 a{color:inherit;text-decoration:none}
.opponent-intro h2 a:hover,.opponent-intro h1 a:hover{text-decoration:underline}
.opponents-single{max-width:780px;margin-inline:auto}
.opponent-back{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);margin-bottom:16px}
.opponents-single h1{font:700 42px/1.1 var(--font-display);margin:4px 0}
.opponents-single .opponent-intro img{width:160px;height:160px}
.opponent-next{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.opponent-next a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none}
@media(max-width:600px){.opponents-single .opponent-intro img{width:96px;height:96px}.opponents-single h1{font-size:34px}.opponent-next>*{width:100%}}
.opponent-nickname { font-size:var(--text-sm);color:var(--accent);line-height:1.4; }
.opponent-bio { font-size:var(--text-base);line-height:1.6;color:var(--text); }
.opponent-profile blockquote { border:0;border-left:2px solid var(--accent);padding:4px 0 4px 14px;margin:20px 0;color:var(--accent);font-size:var(--text-base);line-height:1.5; }
.opponent-read { border-top:1px solid var(--line);margin-top:20px; }
.opponent-read summary { cursor:pointer;min-height:48px;padding:14px 0;font-size:var(--text-sm);font-weight:600; }
.opponent-read h3 { font-size:var(--text-base);margin:8px 0; }
.opponent-read p { color:var(--muted);font-size:var(--text-sm);line-height:1.6;margin-bottom:12px; }
.opponents-house-note { margin:32px 0;padding-block:24px;border-block:1px solid var(--line);max-width:74ch; }
.opponents-house-note h2,.opponents-avatar-note h2,.opponents-teaser h2 { font-size:var(--text-lg);margin:0 0 12px; }
.opponents-house-note p { color:var(--muted);margin-top:12px; }
.opponents-avatar-note { display:flex;gap:24px;align-items:center;margin:24px 0 32px; }
.opponents-avatar-note>div { flex:1; }
.opponents-avatar-note p { color:var(--muted);max-width:70ch; }
.opponents-avatar-note button,.opponents-teaser button { min-height:48px;flex-shrink:0; }
.opponents-teaser { display:flex;align-items:center;gap:28px;padding:28px 0;margin:24px 0;border-block:1px solid var(--line); }
.opponents-teaser p { color:var(--muted);max-width:60ch;margin-bottom:16px; }
.opponents-teaser .eyebrow { display:block;margin-bottom:8px; }
.opponents-teaser-faces { display:flex;flex-shrink:0;padding-right:12px; }
.opponents-teaser-faces img { width:80px;height:80px;border-radius:50%;border:3px solid var(--bg);margin-right:-20px;object-fit:cover;background:#142337; }
@media(max-width:700px) {
  .opponents-grid { grid-template-columns:1fr;gap:16px; }
  .opponent-profile { padding:20px; }
  .opponent-intro { gap:16px; }
  .opponent-intro img { width:96px;height:96px; }
  .opponents-tools { align-items:stretch;flex-direction:column;gap:8px; }
  .opponents-tools p { padding:0; }
  .opponents-tools label { grid-template-columns:auto 1fr;align-items:center;gap:12px; }
  .opponents-tools select { min-width:0;width:100%; }
  .opponents-avatar-note,.opponents-teaser { flex-direction:column;align-items:start;gap:16px; }
  .opponents-teaser-faces img { width:72px;height:72px;margin-right:-12px; }
}
@media(max-height:650px) {
  #club-drawer { gap:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom)); }
  .drawer-utilities>p { display:none; }
}
