/* Roster page extras for The Causeway Gazette (pairs with style.css) */
.roster-top{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;margin:10px 0 18px}
.roster-intro{font-size:1.08rem;margin:0}
.roster-intro::first-letter{font-size:3em;float:left;line-height:.85;padding:4px 8px 0 0;font-weight:bold}
.capbox{background:#000;color:#fff;padding:16px 18px;border-top:6px solid var(--gold)}
.capbox h3{color:var(--gold);font:bold .95rem Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.capbar{height:10px;background:#333;border:1px solid var(--gold);margin-bottom:10px}
.capbar span{display:block;height:100%;background:var(--gold)}
.capbox dl{margin:0}.capbox dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted #555;padding:5px 0}
.capbox dt{font-size:.88rem;color:#ccc}.capbox dd{margin:0;font-weight:bold;font-variant-numeric:tabular-nums}
.capbox .hl dt,.capbox .hl dd{color:var(--gold);font-size:1.05rem}
.capnote{font-size:.75rem;color:#aaa;margin:8px 0 0;font-style:italic}
.roster-jump{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 4px}
.roster-jump a{font:bold .78rem Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:2px solid #000;padding:4px 10px;background:#fff}
.roster-jump a:hover{background:var(--gold)}
.roster-sec{margin-top:26px;scroll-margin-top:10px}
.roster-h{font:bold 1.4rem Georgia,serif;border-bottom:3px solid #000;padding-bottom:4px;margin-bottom:0;display:flex;justify-content:space-between;align-items:baseline}
.roster-h span{font:italic .85rem Georgia,serif;color:#555}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #000;border-top:0;background:#fffdf6}
table.roster{min-width:1040px;font-size:.9rem}
table.roster th{padding:0;white-space:nowrap;position:sticky;top:0}
table.roster th button{all:unset;cursor:pointer;display:block;padding:8px 7px;font:bold .74rem Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
table.roster th button:hover,table.roster th button:focus-visible{background:#222;outline:none}
table.roster th[aria-sort="ascending"] button::after{content:" ▲"}
table.roster th[aria-sort="descending"] button::after{content:" ▼"}
table.roster td{vertical-align:middle;padding:6px 7px;border-bottom:1px solid #d6cfbd}
table.roster tbody tr:nth-child(even){background:#f4eedd}
table.roster tbody tr:hover{background:#ffe9b3}
td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td.num small,td small{display:block;font-size:.72rem;color:#666;font-style:italic;white-space:nowrap}
td.jersey{font:bold 1.15rem Georgia,serif;text-align:center}
td.pts{font-weight:bold;background:rgba(255,184,28,.18)}
td.player{min-width:200px;position:sticky;left:0;background:inherit}
.pcell{display:flex;align-items:center;gap:10px}
.pcell img,.noimg{width:56px;height:56px;border-radius:50%;object-fit:cover;background:#e9e2cf;border:2px solid #000;flex:none}
.pfirst{display:block;font-size:.8rem;color:#555;line-height:1.1}.plast{font-weight:bold;font-size:1.02rem}
.cap-letter{display:inline-block;background:var(--gold);color:#000;border:1px solid #000;font:bold .68rem Arial,sans-serif;padding:0 4px;margin-left:4px;vertical-align:2px}
.badge{display:inline-block;font:bold .72rem Arial,sans-serif;letter-spacing:.08em;padding:2px 7px;border:1px solid #000}
.badge.ufa{background:#000;color:var(--gold)}.badge.rfa{background:var(--gold);color:#000}
.clause{display:inline-block;font:bold .7rem Arial,sans-serif;border:1px solid #000;padding:1px 5px;margin:1px 2px 1px 0;background:#fff}
td small.ext{color:#7a5300;font-weight:bold;font-style:normal}td small.elc{font-style:normal;font-weight:bold;color:#333}
.muted{color:#999}
.roster-key{font-size:.8rem;color:#444;margin-top:22px;border-top:1px solid #999;padding-top:10px}
.roster-updated{font:italic .9rem Georgia,serif;text-align:center;margin-top:14px}
@media (max-width:820px){.roster-top{grid-template-columns:1fr}}
@media (max-width:560px){.pcell img,.noimg{width:42px;height:42px}td.player{min-width:160px}.roster-h{font-size:1.2rem}}
table.roster td.player{background:#fffdf6}table.roster tbody tr:nth-child(even) td.player{background:#f4eedd}table.roster tbody tr:hover td.player{background:#ffe9b3}
table.roster th[data-type="num"] button{text-align:right}
