/* badmintonapi.com: an edition page. The champions, each event's bracket, earlier rounds and the seeds. */
.ed { background: #F4F1E8; }
.ed-in { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.ed code { font: 500 .9em "IBM Plex Mono", ui-monospace, monospace; }
.ed a { transition: color .15s ease; }
.ed-unk { font-size: 12.5px; color: #A7ADA9; }
.ed-over2 { display: inline-flex; align-items: center; gap: 12px; font-size: 11.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); font-weight: 700; }
.ed-over2::before { content: ""; width: 34px; height: 1px; background: var(--gold); }

/* ------------------------------------------------------------------ the top band */
.ed-top { color: #fff; border-bottom: 1px solid var(--gold); background: radial-gradient(50% 90% at 88% 0%, rgba(34,150,112,.42) 0%, rgba(34,150,112,0) 70%), radial-gradient(40% 70% at 0% 100%, rgba(226,199,127,.12) 0%, rgba(226,199,127,0) 70%), linear-gradient(170deg, #0B4A3E 0%, #072E27 100%); }
.ed-top .ed-in { padding-top: 26px; padding-bottom: 104px; }
.ed-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ed-crumb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 13px; color: rgba(255,255,255,.55); }
.ed-crumb a { color: rgba(255,255,255,.8); border-bottom: 1px solid rgba(255,255,255,.25); }
.ed-crumb a:hover { color: #fff; border-color: var(--gold-lt); }
.ed-step { display: flex; gap: 8px; flex: none; }
.ed-step a { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,.22); font: 600 13px "Zen Kaku Gothic New", sans-serif; color: #fff; transition: border-color .15s ease; }
.ed-step a:hover { border-color: var(--gold-lt); }
.ed-top-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-top: 26px; }
.ed-grd { display: inline-block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--gold-lt); border: 1px solid rgba(226,199,127,.5); border-radius: 4px; padding: 4px 8px; }
.ed-top h1 { margin: 12px 0 0; font: 700 46px/1.08 "Shippori Mincho", serif; letter-spacing: -.01em; }
.ed-top-row p { margin: 12px 0 0; font-size: 15.5px; color: rgba(255,255,255,.74); }
.ed-facts { display: flex; margin: 0 0 4px; flex: none; }
.ed-facts div { padding: 0 22px; border-left: 1px solid rgba(226,199,127,.25); }
.ed-facts div:first-child { padding-left: 0; border-left: 0; }
.ed-facts dt { font: 700 26px/1.1 "Shippori Mincho", serif; color: #fff; font-variant-numeric: tabular-nums; }
.ed-facts dd { margin: 4px 0 0; font-size: 12.5px; color: rgba(255,255,255,.58); white-space: nowrap; }
.ed-none-w { padding: 0 0 96px; }
.ed-none { margin: -64px 0 0; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 10px; font-size: 15px; color: var(--muted); }

/* ------------------------------------------------------------------ the champions, lifted over the band */
.ed-champs-in { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-top: -68px; }
.ec { display: flex; flex-direction: column; min-width: 0; padding: 16px 18px 16px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 1px 0 rgba(10,63,53,.04), 0 26px 44px -34px rgba(10,63,53,.4); transition: border-color .15s ease, transform .15s ease; }
.ec:hover { border-color: #D2C39A; transform: translateY(-1px); }
.ec:focus-visible { outline: 2px solid var(--deep); outline-offset: 2px; }
.ec-ev { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--gold); }
.ec-w { margin-top: 8px; font: 700 16px/1.3 "Shippori Mincho", serif; color: var(--deep); }
.ec-l { margin-top: 4px; font-size: 12.5px; line-height: 1.45; color: var(--muted); }
.ec-s { margin-top: auto; padding-top: 10px; font: 500 12.5px "IBM Plex Mono", monospace; color: var(--ink); }

/* ------------------------------------------------------------------ the draw */
.ed-draw { padding: 64px 0 0; }
.ed-hd { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 22px; }
.ed-hd h2 { margin: 14px 0 0; font: 700 32px/1.15 "Shippori Mincho", serif; color: var(--deep); scroll-margin-top: 130px; }
.ed-hd > p { margin: 0 0 4px; max-width: 460px; font-size: 14px; line-height: 1.6; color: var(--muted); text-align: right; }
.et { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--line); }
.et a { flex: none; margin-bottom: -1px; padding: 12px 16px; border-bottom: 2px solid transparent; font-size: 14.5px; font-weight: 700; color: #7B847F; transition: color .15s ease, border-color .15s ease; }
.et a:hover { color: var(--ink); }
.et a[aria-current="page"] { color: var(--deep); border-bottom-color: var(--gold); }
.et a:focus-visible { outline: 2px solid var(--deep); outline-offset: -2px; border-radius: 10px; }
.ep { margin-top: 20px; }
.bk-wrap { overflow-x: auto; padding: 22px 24px 60px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 1px 0 rgba(10,63,53,.04), 0 24px 48px -32px rgba(10,63,53,.25); scrollbar-width: thin; }
.bk { display: flex; gap: 30px; width: max-content; min-width: 100%; }
.bk-col { display: flex; flex-direction: column; width: 196px; }
.bk-4 .bk-col { width: 238px; }
.bk-3 .bk-col, .bk-2 .bk-col, .bk-1 .bk-col { width: 280px; }
.bk-col h3 { margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid var(--hair); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #8C938F; }
.bk-list { flex: 1; display: flex; flex-direction: column; }
.bk-pair { flex: 1; display: flex; flex-direction: column; position: relative; }
.bk-slot { flex: 1; display: flex; align-items: center; position: relative; padding: 5px 0; }
.bk-slot > .bm { flex: 1; }
.bk-slot::after { content: ""; position: absolute; right: -15px; top: 50%; width: 15px; border-top: 1px solid #D9D1BB; }
.bk-pair::after { content: ""; position: absolute; right: -15px; top: 25%; bottom: 25%; border-right: 1px solid #D9D1BB; }
.bk-col + .bk-col .bk-slot::before, .bk-col + .bk-col .bk-fin::before { content: ""; position: absolute; left: -15px; top: 50%; width: 15px; border-top: 1px solid #D9D1BB; }
.bk-fin { flex: 1; display: flex; align-items: center; position: relative; }
.bk-fw { position: relative; flex: 1; }
.bk-fin .bm { border-color: #D2C39A; box-shadow: 0 14px 28px -20px rgba(10,63,53,.45); }
.bk-champ { position: absolute; left: 0; right: 0; top: 100%; margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: linear-gradient(135deg, #0B4A3E, #072E27); color: #fff; font: 700 14px/1.35 "Shippori Mincho", serif; }
.bk-champ span { display: block; margin-bottom: 2px; font: 700 9.5px "Zen Kaku Gothic New", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-lt); }

/* one match */
.bm { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 10px; font-size: 13px; line-height: 1.35; }
.bm-s { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: center; padding: 6px 10px 5px 8px; }
.bm-s + .bm-s { padding-top: 3px; }
.bm-sd { font: 600 10.5px "IBM Plex Mono", monospace; color: #A7ADA9; text-align: center; }
.bm-nm { min-width: 0; }
.bm-nm > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #4A544F; }
.bm-nm a:hover { color: var(--jade); }
.bm-nm small, .ed-p small { margin-left: 5px; font-size: 9.5px; letter-spacing: .1em; color: var(--muted); font-weight: 500; }
.bm-s.won .bm-nm > span { color: var(--ink); font-weight: 700; }
.bm-s.won .bm-sd { color: var(--gold); }
.bm-s.lost .bm-nm > span { color: #6E7772; }
.bm-sc { display: flex; align-items: center; gap: 8px; padding: 4px 10px 5px 32px; border-top: 1px solid var(--hair); border-radius: 0 0 10px 10px; background: #FBFAF6; font: 500 11.5px/1.5 "IBM Plex Mono", monospace; color: #4A544F; }
.bm-sc em { font: 700 9.5px "Zen Kaku Gothic New", sans-serif; letter-spacing: .1em; text-transform: uppercase; font-style: normal; color: #A6562F; }

/* earlier rounds, as lists */
.er { margin-top: 20px; }
.er-r { padding: 20px 24px 24px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.er-r + .er-r { margin-top: 14px; }
.er-r h3 { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 14px; font: 700 18px/1.2 "Shippori Mincho", serif; color: var(--deep); }
.er-r h3 span { font: 500 12.5px "Zen Kaku Gothic New", sans-serif; color: var(--muted); }
.er-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }

/* the seeds */
.sd { margin-top: 20px; padding: 20px 24px 12px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.sd h3 { margin: 0 0 6px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: var(--gold); }
.sd ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; list-style: none; margin: 0; padding: 0; }
.sd li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 2px 12px; padding: 11px 0; border-top: 1px solid var(--hair); }
.sd li:nth-child(-n+2) { border-top: 0; }
.sd-n { grid-row: 1 / span 2; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #F1ECDF; font: 700 12px "IBM Plex Mono", monospace; color: var(--deep); }
.sd-champion .sd-n { background: var(--gold); color: #fff; }
.sd-who { font-size: 14px; font-weight: 700; color: var(--ink); }
.ed-p { margin-right: 10px; }
.ed-p a:hover { color: var(--jade); }
.sd-res { font-size: 12.5px; color: var(--muted); }
.sd-res b { color: #8A6D24; }

/* ------------------------------------------------------------------ the way into the API */
.ed-end { padding: 72px 0 96px; }
.ed-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 30px 34px; border-radius: 10px; color: #fff; background: radial-gradient(60% 120% at 100% 0%, #115446 0%, #0A3F35 50%, #072E27 100%); border: 1px solid rgba(226,199,127,.3); }
.ed-cta h2 { margin: 0; font: 700 24px/1.3 "Shippori Mincho", serif; color: #fff; }
.ed-cta p { margin: 8px 0 0; max-width: 640px; font-size: 14.5px; color: rgba(255,255,255,.72); }
.ed-cta code { padding: 1px 6px; border-radius: 4px; background: rgba(255,255,255,.07); color: var(--gold-lt); }
.ed-cta-go { display: flex; align-items: center; gap: 12px; flex: none; }
.ed-key { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 42px; padding: 0 18px 0 6px; border-radius: 10px; background: var(--gold); color: var(--deeper); font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: .01em; transition: background-color .15s ease; }
.ed-key:hover { background: #D4B25F; }
.ed-key:focus-visible, .ed-doc:focus-visible { outline: 2px solid var(--gold-lt); outline-offset: 2px; }
.ed-g { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 6px; background: #fff; }
.ed-g svg { width: 17px; height: 17px; }
.ed-doc { display: inline-flex; align-items: center; height: 42px; padding: 0 18px; border-radius: 10px; border: 1px solid rgba(255,255,255,.28); color: #fff; font-size: 14px; font-weight: 700; transition: border-color .15s ease; }
.ed-doc:hover { border-color: var(--gold-lt); }

/* ------------------------------------------------------------------ a team event: champions, ties, groups */
.tt-cc { margin-left: 6px; font: 600 9.5px "IBM Plex Mono", monospace; letter-spacing: .08em; color: var(--muted); }
.tt-ch { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); margin-top: -68px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 1px 0 rgba(10,63,53,.04), 0 26px 44px -34px rgba(10,63,53,.4); overflow: hidden; }
.tt-cw { padding: 22px 26px; }
.tt-cw span { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--gold); }
.tt-cw h2 { margin: 6px 0 0; font: 700 30px/1.15 "Shippori Mincho", serif; color: var(--deep); }
.tt-cw p { margin: 6px 0 0; font-size: 14px; color: var(--muted); }
.tt-path { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 18px 26px; background: #FBFAF6; border-left: 1px solid var(--hair); font-size: 13px; }
.tt-path div { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 10px; align-items: baseline; }
.tt-path em { font-style: normal; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #8C938F; }
.tt-path b { font: 600 12px "IBM Plex Mono", monospace; color: var(--deep); }
.tt-sec { padding: 56px 0 0; }
.tt-ko { display: grid; gap: 30px; padding: 22px 24px 26px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 1px 0 rgba(10,63,53,.04), 0 24px 48px -32px rgba(10,63,53,.25); }
.tt-ko-1 { grid-template-columns: minmax(0, 420px); }
.tt-ko-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tt-ko-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tt-ko-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tt-col h3 { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--hair); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #8C938F; }
.tt-list { display: flex; flex-direction: column; justify-content: space-around; gap: 12px; height: calc(100% - 34px); }

/* one tie: both nations and the score; open, its matches */
.tt { background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.tt summary { list-style: none; cursor: pointer; padding: 10px 12px 9px; }
.tt summary::-webkit-details-marker { display: none; }
.tt summary:focus-visible { outline: 2px solid var(--deep); outline-offset: 2px; border-radius: 10px; }
.tt-t { display: grid; grid-template-columns: minmax(0, 1fr) 22px; align-items: center; font-size: 14px; line-height: 1.7; color: #6E7772; }
.tt-t b { font: 600 14px "IBM Plex Mono", monospace; text-align: right; }
.tt-t .tt-w { color: var(--ink); font-weight: 700; }
.tt-t b.tt-w { color: var(--deep); }
.tt-m { display: flex; justify-content: space-between; gap: 10px; margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--hair); font-size: 11.5px; color: #8C938F; }
.tt-m i { font-style: normal; color: var(--jade); font-weight: 700; }
.tt[open] .tt-m i::after { content: " ▴"; }
.tt:not([open]) .tt-m i::after { content: " ▾"; }
.tt-f { border-color: #D2C39A; box-shadow: 0 14px 28px -20px rgba(10,63,53,.45); }
.tt-rb { margin: 0; padding: 4px 12px 10px; list-style: none; border-top: 1px solid var(--hair); background: #FBFAF6; border-radius: 0 0 10px 10px; }
.tt-rb li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 2px 8px; padding: 7px 0; border-top: 1px solid var(--hair); font-size: 12.5px; line-height: 1.4; }
.tt-rb li:first-child { border-top: 0; }
.tt-ev { grid-row: 1 / span 2; align-self: start; margin-top: 1px; font: 700 9.5px "IBM Plex Mono", monospace; color: var(--gold); letter-spacing: .06em; }
.tt-p { color: #6E7772; }
.tt-p a:hover { color: var(--jade); }
.tt-p .tt-w { color: var(--ink); font-weight: 700; }
.tt-s { font: 500 11px "IBM Plex Mono", monospace; color: #4A544F; }
.tt-champ { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: linear-gradient(135deg, #0B4A3E, #072E27); color: #fff; font: 700 15px/1.35 "Shippori Mincho", serif; }
.tt-champ span { display: block; font: 700 9.5px "Zen Kaku Gothic New", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-lt); }

/* rounds before groups and knockouts existed, as lists */
.tt-rd { padding: 20px 24px 24px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.tt-rd + .tt-rd { margin-top: 14px; }
.tt-rd h3 { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 14px; font: 700 18px/1.2 "Shippori Mincho", serif; color: var(--deep); }
.tt-rd h3 span { font: 500 12.5px "Zen Kaku Gothic New", sans-serif; color: var(--muted); }
.tt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: start; }

/* the groups: a table each, then its ties */
.tt-gr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.tt-g { padding: 18px 20px 20px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.tt-g h3 { margin: 0 0 10px; font: 700 18px/1.2 "Shippori Mincho", serif; color: var(--deep); }
.tt-g table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tt-g th { padding: 0 0 6px; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #8C938F; text-align: right; }
.tt-g th:first-child { text-align: left; }
.tt-g td { padding: 7px 0; border-top: 1px solid var(--hair); text-align: right; font: 500 12.5px "IBM Plex Mono", monospace; color: #4A544F; }
.tt-g td:first-child { padding-left: 14px; text-align: left; font: 500 13.5px "Zen Kaku Gothic New", sans-serif; color: var(--ink); }
.tt-g tr.tt-q td:first-child { padding-left: 0; font-weight: 700; }
.tt-g tr.tt-q td:first-child::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 8px 2px 0; border-radius: 50%; background: var(--gold); }
.tt-gt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; align-items: start; }
.tt-gt .tt summary { padding: 8px 10px 7px; }
.tt-gt .tt-t { font-size: 13px; line-height: 1.6; }
.tt-key { margin: 12px 0 0; font-size: 12.5px; color: var(--muted); }
.tt-key::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 8px 1px 0; border-radius: 50%; background: var(--gold); }

/* ------------------------------------------------------------------ para badminton: champions by class, a chip per class */
.pa-ch { margin-top: -68px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 1px 0 rgba(10,63,53,.04), 0 26px 44px -34px rgba(10,63,53,.4); }
.pa-r { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; padding: 14px 22px; }
.pa-r + .pa-r { border-top: 1px solid var(--hair); }
.pa-ev { padding-top: 4px; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--gold); }
.pa-cl { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px 18px; }
.pa-c { display: flex; flex-direction: column; min-width: 0; }
.pa-c em { font: 600 10.5px "IBM Plex Mono", monospace; font-style: normal; color: var(--jade); }
.pa-c b { font: 700 15px/1.35 "Shippori Mincho", serif; color: var(--deep); }
.pa-c small { margin-left: 5px; font: 500 9.5px "Zen Kaku Gothic New", sans-serif; letter-spacing: .1em; color: var(--muted); }
.pa-key { margin: 10px 0 0; font-size: 12.5px; color: var(--muted); }
.pa-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.pa-chips button { padding: 6px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: 600 12.5px "IBM Plex Mono", monospace; color: #5D6661; cursor: pointer; transition: border-color .15s ease, color .15s ease; }
.pa-chips button:hover { color: var(--ink); }
.pa-chips button[aria-pressed="true"] { border-color: var(--gold); background: #FBF7EA; color: var(--deep); }
.pa-chips button:focus-visible { outline: 2px solid var(--deep); outline-offset: 2px; }
.pa-chips small { margin-left: 6px; font: 500 11px "Zen Kaku Gothic New", sans-serif; color: var(--muted); }
.pa-what { margin: 12px 0 14px; font-size: 13px; color: var(--muted); }
.pa-what b { color: var(--deep); }

/* ------------------------------------------------------------------ smaller screens */
/* podium: gold, silver and both bronzes per event, with medals by nation */
.ed-pd { padding: 64px 0 0; }
.pd-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; margin-bottom: 14px; }
.pd-tally h3 { margin: 0; padding: 14px 16px; font: 500 11px/1 "Zen Kaku Gothic New", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); background: var(--paper); border-bottom: 1px solid var(--line); }
.pd-tally ul { list-style: none; margin: 0; padding: 6px 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.pd-tally li { display: grid; grid-template-columns: 40px minmax(64px, 1fr) 72px; align-items: center; gap: 10px; height: 44px; padding: 0 16px; }
.pd-tally > p { margin: 0; padding: 12px 16px; font-size: 12px; color: var(--muted); border-top: 1px solid var(--hair); }
.pd-cc { font: 500 12px "IBM Plex Mono", monospace; color: var(--deep); }
.pd-bar { display: flex; height: 8px; border-radius: 10px; overflow: hidden; background: var(--hair); }
.pd-bar i { display: block; height: 100%; }
.pd-g { background: #C8A24A; } .pd-s { background: #A9B0B4; } .pd-z { background: #B07A4A; }
.pd-n { display: grid; grid-template-columns: repeat(3, 1fr); text-align: right; font: 500 12px "IBM Plex Mono", monospace; font-variant-numeric: tabular-nums; }
.pd-t { width: 100%; border-collapse: collapse; font-size: 13.5px; table-layout: fixed; }
.pd-t th { background: var(--paper); text-align: left; font-weight: 500; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); padding: 12px 14px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.pd-t th:first-child { width: 170px; }
.pd-t td { padding: 0 14px; height: 72px; border-bottom: 1px solid var(--hair); vertical-align: middle; }
.pd-t tr:last-child td { border-bottom: 0; }
.pd-t tbody tr:hover { background: #FBF9F3; }
.pd-ev { white-space: nowrap; color: var(--deep); font-weight: 500; }
.pd-ev small { display: block; font-size: 11.5px; color: var(--muted); font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
.pd-md { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.pd-md i { flex: none; width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; }
.pd-gold i { background: #C8A24A; box-shadow: 0 0 0 3px rgba(200,162,74,.18); }
.pd-silver i { background: #A9B0B4; box-shadow: 0 0 0 3px rgba(169,176,180,.2); }
.pd-bronze i { background: #B07A4A; box-shadow: 0 0 0 3px rgba(176,122,74,.16); }
.pd-md > span { display: flex; flex-direction: column; min-width: 0; line-height: 1.4; }
.pd-p { display: block; max-width: 100%; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.pd-p:hover { color: var(--jade); text-decoration: underline; text-decoration-color: var(--gold); }
.pd-p small { margin-left: 6px; font: 500 10.5px "IBM Plex Mono", monospace; color: var(--muted); }

@media (max-width: 1100px) {
.ed-top-row { flex-direction: column; align-items: flex-start; gap: 26px; }
.ed-champs-in { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.er-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
.ed-hd { flex-direction: column; align-items: flex-start; gap: 10px; }
.ed-hd > p { text-align: left; }
.ed-cta { flex-direction: column; align-items: flex-start; }
.tt-ko-3, .tt-ko-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tt-gr { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
.bk-wrap { overflow: visible; padding: 18px 16px 8px; }
.bk, .bk-list, .bk-pair, .bk-slot, .bk-fin { display: block; width: auto; }
.bk .bk-col { display: block; width: auto; margin-bottom: 22px; }
.bk-slot, .bk-fin { padding: 0 0 8px; }
.bk-slot::after, .bk-pair::after, .bk-col + .bk-col .bk-slot::before, .bk-col + .bk-col .bk-fin::before { display: none; }
.bk-champ { position: static; }
.sd ol { grid-template-columns: minmax(0, 1fr); }
.sd li:nth-child(2) { border-top: 1px solid var(--hair); }
}
@media (max-width: 640px) {
.pd-t { table-layout: auto; }
.pd-t thead { display: none; }
.pd-t, .pd-t tbody, .pd-t tr, .pd-t td { display: block; width: 100%; }
.pd-t tr { padding: 14px 16px; border-bottom: 1px solid var(--hair); }
.pd-t td { height: auto; padding: 4px 0; border: 0; }
.ed-in { padding: 0 16px; }
.ed-top .ed-in { padding-bottom: 88px; }
.ed-bar { flex-direction: column; align-items: flex-start; gap: 14px; }
.ed-top h1 { font-size: 32px; }
.ed-facts dt { font-size: 21px; }
.ed-facts div { padding: 0 14px; }
.ed-champs-in { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: -64px; }
.ec-s { margin-top: 0; }
.ed-hd h2 { font-size: 26px; }
.et { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; border-bottom: 0; }
.et a { margin: 0; padding: 10px 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; text-align: center; font-size: 13px; white-space: nowrap; }
.et a[aria-current="page"] { border-color: var(--gold); background: #FBF7EA; }
.et a:last-child:nth-child(odd) { grid-column: 1 / -1; }
.er-r, .sd { padding: 18px 16px 10px; }
.er-grid { grid-template-columns: minmax(0, 1fr); }
.ed-cta { padding: 24px 20px; }
.ed-cta h2 { font-size: 21px; }
.ed-cta-go { flex-wrap: wrap; }
.tt-ch { grid-template-columns: minmax(0, 1fr); margin-top: -64px; }
.tt-path { border-left: 0; border-top: 1px solid var(--hair); padding: 16px 20px; }
.tt-path div { grid-template-columns: 96px minmax(0, 1fr) auto; }
.tt-cw { padding: 20px; }
.tt-ko-2, .tt-ko-3, .tt-ko-4, .tt-grid, .tt-gt { grid-template-columns: minmax(0, 1fr); }
.tt-ko { padding: 18px 16px 20px; }
.tt-list { height: auto; }
.tt-rd, .tt-g { padding: 18px 16px 16px; }
.pa-ch { margin-top: -64px; }
.pa-r { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 14px 16px; }
.pa-cl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
}
@media (prefers-reduced-motion: reduce) {
.ec, .ec:hover { transform: none; }
}
