/* Compact resource-page header; the homepage keeps its own masthead.
   Wide screens: one row, brand | destinations | utilities, with a search field that flexes.
   Below 1241px the destinations take their own row so the search field keeps its width. */
body.utility-page .site-header{grid-template-columns:auto auto minmax(0,1fr);gap:24px;padding:0 24px;min-height:64px}
body.utility-page .site-header .brand-row .wordmark{grid-column:1;grid-row:1;font-size:40px}
body.utility-page .site-header .primary-nav{grid-column:2;grid-row:1;justify-content:flex-start;gap:20px;border:0;margin:0;padding:0}
body.utility-page .site-header .primary-nav>a{font-size:20px;min-height:64px;padding-block:18px}
body.utility-page .site-header .primary-nav .rules-shortcut{display:none}
body.utility-page .site-header .header-actions{grid-column:3;grid-row:1;gap:16px;justify-self:stretch;justify-content:flex-end;min-width:0}
@media(max-width:1240px){
 body.utility-page .site-header{grid-template-columns:auto minmax(0,1fr);gap:0 24px;padding-top:10px}
 body.utility-page .site-header .header-actions{grid-column:2}
 body.utility-page .site-header .primary-nav{grid-column:1/-1;grid-row:2;border-top:1px solid var(--soft);margin-top:10px;overflow-x:auto;gap:24px}
 body.utility-page .site-header .primary-nav>a{min-height:44px;padding-block:10px}
}
@media(max-width:800px){
 body.utility-page .site-header{padding:12px 16px 0;gap:0 12px}
 body.utility-page .site-header .brand-row .wordmark{font-size:34px}
 body.utility-page .site-header .header-actions{gap:6px}
 body.utility-page .site-header .primary-nav{gap:24px;margin-top:8px}
 body.utility-page .site-header .primary-nav>a{font-size:19px}
}
@media(max-width:360px){
 body.utility-page .site-header{column-gap:8px}
 body.utility-page .site-header .brand-row .wordmark{font-size:30px}
 body.utility-page .site-header .header-actions{gap:8px}
}

/* Inner-page reading hierarchy. Intentionally absent from the approved home. */
/* Keep card names and quantity changes within a single readable scan. */
[data-page-family=compare] #main>.section{max-width:1000px;margin-inline:auto}
[data-page-family=compare] .compare-form label{font:14px/1.5 var(--body)}
[data-page-family=compare] .compare-context{font-size:15px;line-height:1.6}
[data-page-family=compare] .compare-section li{align-items:center;line-height:1.5}
[data-page-family=compare] .compare-quantity{font:500 14px/1.5 var(--body);font-variant-numeric:tabular-nums}
.utility-page .page-intro{padding:30px 24px 26px}
.utility-page .page-intro h1{font-size:var(--h1-page);line-height:1.06;margin:8px 0 12px;max-width:26ch;text-wrap:balance}
.utility-page .page-intro .lede{font-size:17px;line-height:1.6;max-width:68ch;margin:0}
.utility-page .page-intro .eyebrow{font:500 14px/1.5 var(--body);text-transform:none;letter-spacing:0}
.utility-page .page-intro .record-meta{font:14px/1.6 var(--body);margin-top:14px;max-width:72ch}
.utility-page .record-actions{margin-top:20px;gap:10px}
.utility-page .breadcrumbs{padding-block:12px;color:var(--muted)}
.utility-page .section-head{align-items:baseline;gap:12px 24px;flex-wrap:wrap}
.utility-page .section-head h2{line-height:1.1}
.utility-page .section-head>p:not(.eyebrow){max-width:65ch;line-height:1.6}
.utility-page .record-card-title{font-size:30px;line-height:1.12}
.utility-page .record-card-summary{font-size:16px;line-height:1.55}
.utility-page .record-card-body{gap:10px}
.utility-page .record-card-open{color:var(--ac);padding-top:12px}
.utility-page .record-card .record-meta{font-size:14px;line-height:1.5}
.utility-page .release-jumps,.utility-page .tournament-jumps{font:14px/1.5 var(--body);gap:12px 24px}
.utility-page .set-art figcaption,.utility-page .release-date>span,.utility-page .release-actions>a:not(.button),.utility-page .tournament-source-notes summary,.utility-page .tournament-snapshot dt{font:14px/1.5 var(--body);text-transform:none}
.utility-page .release-body>.muted,.utility-page .learning-paths p{font-size:16px;line-height:1.6}
.utility-page .legend-text{font:15px/1.6 var(--body)}
.utility-page .legend-text .kw{font-size:13px;line-height:1.4}
.utility-page .legend-text .sym{font-size:13px}
.utility-page .legend-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,370px),1fr))}
.utility-page .legend-grid .record-card{padding:24px 20px}
.utility-page .glossary-list{gap:26px 36px}
.utility-page .glossary-list dt{font-size:28px;line-height:1.15;margin-bottom:9px}
.utility-page .glossary-list dd{font-size:16px;line-height:1.65}
.utility-page .play-tiles p{font-size:16px;line-height:1.6}
.utility-page .play-tiles .eyebrow{font-size:13px}

/* News is an editorial index, not a wall of equally oversized headlines. */
[data-page-family=news] .news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
[data-page-family=news] .news-card{padding:0;border:0;border-top:1px solid var(--soft);background:transparent;min-width:0}
[data-page-family=news] .news-card img{aspect-ratio:16/9;margin:0;object-fit:cover}
[data-page-family=news] .news-card-copy{display:flex;flex-direction:column;flex:1;padding:20px 0 24px;min-width:0}
[data-page-family=news] .news-card h2{font-size:32px;line-height:1.12;margin:12px 0;text-wrap:pretty}
[data-page-family=news] .news-card-copy>p:not(.story-meta){font-size:16px;line-height:1.6;margin:0 0 20px;max-width:62ch}
[data-page-family=news] .news-card .story-meta{font:14px/1.5 var(--body);margin:0;color:var(--muted)}
[data-page-family=news] .news-card .bottom a{font:500 14px/1.5 var(--body);text-transform:none;letter-spacing:0;display:inline-block;padding:8px 0}
[data-page-family=news] .news-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--soft);background:var(--bg2)}
[data-page-family=news] .news-card:first-child>img{height:100%;min-height:300px;max-height:460px;aspect-ratio:auto}
[data-page-family=news] .news-card:first-child .news-card-copy{padding:30px;justify-content:center}
[data-page-family=news] .news-card:first-child h2{font-size:clamp(34px,3.5vw,48px);line-height:1.06;margin:18px 0}
[data-page-family=news] .news-card:first-child:not(:has(>img)){grid-template-columns:1fr}
[data-page-family=news] .news-card:first-child:not(:has(>img)) .news-card-copy{max-width:850px}

/* Reading pages share a text axis; body copy remains 18px, not a new design. */
[data-page-kind=detail][data-page-family=news] #main>.page-intro h1,
[data-page-kind=detail][data-page-family=learn] #main>.page-intro h1{font-size:var(--h1-page);line-height:1.08;max-width:30ch;text-wrap:pretty}
.utility-page .reading>.eyebrow,.utility-page .reading .fine{font:14px/1.65 var(--body);text-transform:none;letter-spacing:0}
.utility-page .reading .article-contents{border:0;border-left:3px solid var(--ac);background:var(--bg2)}
.utility-page .reading .article-contents>p{font:600 15px/1.5 var(--body);text-transform:none;letter-spacing:0;color:var(--ink)}
.utility-page .reading .article-contents li{font-size:15px;line-height:1.6}
.utility-page .reading h2{line-height:1.12}
.utility-page .rules-page .eyebrow{font:500 14px/1.5 var(--body);text-transform:none;letter-spacing:0}
.utility-page .rules-upcoming{display:grid;grid-template-columns:1fr 250px;column-gap:28px;padding:24px;border:1px solid var(--soft);background:var(--bg2)}
.utility-page .rules-upcoming>.eyebrow{grid-column:1;align-self:end;margin:0 0 10px}
.utility-page .rules-upcoming>h2{grid-column:1;font-size:32px;line-height:1.12;margin:0 0 20px}
.utility-page .rules-upcoming>.banned-grid{grid-column:2;grid-row:1/4;margin:0;gap:14px;align-content:center}
.utility-page .rules-upcoming>.fine{grid-column:1;margin:0;align-self:end}
.utility-page .banned-card span{font:14px/1.5 var(--body)}

/* The chart keeps its bars, but values stay readable above either bar colour. */
.utility-page .meta-board-head{font:14px/1.5 var(--body);text-transform:none;padding-block:12px}
.utility-page .meta-row{padding-block:14px}
.utility-page .meta-name{font-size:24px;line-height:1.1}
.utility-page .meta-name small{font:14px/1.4 var(--body);margin-top:5px}
.utility-page .meta-bar{height:32px;background:transparent}
.utility-page .meta-bar i{top:auto;height:4px;bottom:0}
.utility-page .meta-bar b{left:0;top:0;transform:none;mix-blend-mode:normal;color:var(--ink);font:500 15px/1.4 var(--body);font-variant-numeric:tabular-nums}
.utility-page .meta-top8{font:600 17px/1.5 var(--body);letter-spacing:0;text-align:center;font-variant-numeric:tabular-nums}
.utility-page .meta-board-head>span:last-child{text-align:center}

@media(max-width:900px){
 [data-page-family=news] .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 [data-page-family=news] .news-card:first-child .news-card-copy{padding:24px}
 [data-page-family=news] .news-card:first-child h2{font-size:36px}
}
@media(max-width:690px){
 .utility-page .page-intro{padding:24px 16px}
 .utility-page .page-intro h1{font-size:var(--h1-page);max-width:100%;margin-block:8px 12px}
 .utility-page .page-intro .lede{font-size:16px;line-height:1.6}
 .utility-page .section-head{align-items:flex-start}
 .utility-page .section-head>p{margin:0}
 [data-page-family=news] .news-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 [data-page-family=news] .news-card:first-child{display:flex}
 [data-page-family=news] .news-card:first-child>img{height:auto;min-height:0;max-height:none;aspect-ratio:16/9}
 [data-page-family=news] .news-card:first-child .news-card-copy{padding:22px 20px}
 [data-page-family=news] .news-card:first-child h2{font-size:34px;line-height:1.1;margin:12px 0}
 [data-page-family=news] .news-card h2{font-size:30px}
 .utility-page .rules-upcoming{display:block;padding:20px}
 .utility-page .rules-upcoming>h2{font-size:30px}
 .utility-page .rules-upcoming>.banned-grid{margin:22px 0}
 .utility-page .rules-upcoming>.fine{margin:0}
 .utility-page .meta-board-head,.utility-page .meta-row{grid-template-columns:minmax(86px,1.4fr) minmax(45px,1fr) minmax(45px,1fr) 44px;gap:10px}
 .utility-page .meta-name{font-size:21px}
 .utility-page .meta-name small{font-size:13px}
 .utility-page .meta-board-head{font-size:13px}
 .utility-page .meta-bar b{font-size:14px}
 .utility-page .record-card{padding:20px 16px}
 .utility-page .record-card-title{font-size:28px}
 .utility-page .legend-grid .record-card-art,.utility-page .legend-grid .record-card-art img{width:94px}
}
/* Reveal tracker and set guide (site/reveals.mjs) */
.reveal-tracker h3{margin-top:28px}.reveal-tracker h3 .fine{font:13px var(--mono)}.reveal-list{list-style:none;padding:0;margin:0}
.reveal-card,.keyword-list>div{padding:14px 0;border-bottom:1px solid var(--soft);scroll-margin-top:90px}
.reveal-card h4,.keyword-list dt{font:600 18px/1.3 var(--body);color:var(--ink);margin:0;text-transform:none}
.reveal-card p,.keyword-list dd{margin:4px 0 0}.reveal-meta,.reveal-stats{font:13px/1.5 var(--mono);color:var(--muted);text-transform:uppercase}
.reveal-text{font:16px/1.6 var(--body);color:var(--ink)}.set-facts th{width:34%;text-transform:none;color:var(--ink)}
/* Article Related cards: one width, one type size. */
[data-page-family=news][data-page-kind=detail] .related-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;font-size:15px;line-height:1.4}
[data-page-family=news][data-page-kind=detail] .related-links a{display:block;padding:14px 16px}
/* Links stay inline so the underline follows the text; the padding widens the tap area only. */
.utility-page main .rule-link{padding-block:10px}
