/* Follow the text height instead of reserving a fixed first-screen spacer. */
.game-template .game-intro { min-height:0;padding-bottom:36px; }
.game-template .hero-utility { margin-top:26px;row-gap:12px; }
.game-template .release-card .swarm { gap:16px; }
.release-card .swarm>.swarm-metric { position:relative;align-items:center;gap:5px; }
.release-card .swarm>.swarm-metric+.swarm-metric::before { content:none; }
.release-card .swarm-label { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.release-card .swarm-arrow { width:16px;height:16px;stroke-width:1.8; }
.release-card .swarm-arrow--up { transform:rotate(-90deg);color:#477653; }
.release-card .swarm-arrow--down { transform:rotate(90deg);color:#a66761; }
.steam-rating { display:grid;grid-template-columns:168px minmax(0,1fr);gap:28px;align-items:center;padding:0;background:none;border:0;border-radius:0;margin-bottom:0; }
.steam-rating-summary { display:flex;flex-direction:column;gap:4px; }
.steam-caption { color:#71808b;font-size:12px;font-weight:500; }
.steam-score { color:#24343d;font-size:48px;font-weight:650;line-height:1.08;letter-spacing:-.05em;font-variant-numeric:tabular-nums; }
.steam-recommend { font-size:12px;color:#71808b; }
.steam-total { font-size:14px;font-weight:550;line-height:1.5;color:#304253; }
.steam-rating-bar { margin:9px 0 8px; }
.steam-rating-counts,.steam-rating-meta { display:flex;flex-wrap:wrap;gap:7px 18px;justify-content:space-between;font-size:12px;line-height:1.5; }
.steam-rating-meta { margin-top:12px;color:#81909b;font-size:11px; }
.steam-rating a,.steam-reviews a { text-decoration:underline;text-underline-offset:3px;color:#3d6640; }
.steam-rating.steam-rating--community { display:block; }
.steam-rating-top { display:flex;align-items:baseline;justify-content:space-between;gap:12px; }
.steam-rating--community .steam-rating-summary { display:flex;flex-direction:row;align-items:baseline;gap:10px; }
.steam-rating--community .steam-score { color:#2f5f30;font-size:28px;font-weight:700;line-height:1.15;letter-spacing:-.035em; }
.steam-rating--community .steam-recommend { color:#607482;font-size:13px; }
.steam-rating--community .steam-total { margin:0;color:#788897;font-size:12px;font-weight:450;white-space:nowrap; }
.steam-rating--community .steam-rating-counts .is-positive { color:#4b7931; }
.steam-rating--community .steam-rating-counts .is-negative { color:#b45452; }
.steam-rating--community .steam-rating-meta { justify-content:flex-start;gap:5px 10px; }
.steam-rating--community .steam-rating-meta>span { display:inline-flex;align-items:baseline;gap:10px; }
.steam-rating--community .steam-rating-meta>span::before { content:"·";color:#a7b2b9; }
.site-rating .steam-score { white-space:nowrap; }
.site-rating-scale { font-size:16px;font-weight:500;letter-spacing:0;color:#6b7f62; }
.site-rating-stars { position:relative;width:max-content;margin:9px 0;color:#d9e2d1;font-size:30px;line-height:1.4;letter-spacing:3px; }
.site-rating-stars>span { position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:#7da257; }
.site-rating .steam-rating-meta { margin-top:8px; }
.is-positive { color:#4e773c; }
.is-negative { color:#936351; }
.community-local-heading { font-size:16px;font-weight:600;margin:0 0 16px;color:#304353; }
/* Shared conversation area; Steam occupies a sibling tab when a snapshot exists. */
.community-opinions { min-width:0;margin:0 0 40px;scroll-margin-top:26px; }
.community-opinions-header { display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:center;gap:24px 40px;margin-bottom:26px; }
.community-opinions-heading { min-width:0; }
.salt-release .community-opinions-heading h3 { margin:0;color:#263946;font-size:21px;font-weight:560;line-height:1.25;letter-spacing:-.025em; }
.community-opinions-heading .steam-rating-meta { justify-content:flex-start;gap:4px 9px;margin-top:10px;font-size:11px; }
.community-opinions-heading .steam-rating-meta a { color:#617583;text-decoration:none; }
.community-opinions-heading .steam-rating-meta a:hover { color:#3d6640;text-decoration:underline;text-underline-offset:3px; }
.community-opinions-heading .steam-rating-meta>span { display:inline-flex;align-items:baseline;gap:9px; }
.community-opinions-heading .steam-rating-meta>span::before { content:"·";color:#a7b2b9; }
.community-opinions #game-rating-content { min-width:0; }
.community-opinions .steam-rating-counts { gap:5px 12px;font-size:11px;font-variant-numeric:tabular-nums; }
.community-opinions .site-rating { grid-template-columns:120px minmax(0,1fr);gap:20px; }
.community-opinions .site-rating .steam-rating-summary { display:flex;flex-direction:column;align-items:flex-start;gap:4px; }
.community-opinions .site-rating .steam-score { font-size:34px; }
.community-opinions .site-rating-stars { margin:4px 0;font-size:24px; }
.community-opinions .site-rating .steam-total { margin:0;font-size:12px; }
.community-opinions:not(:has(.steam-review-list)) .community-opinions-header { margin-bottom:0; }
.steam-reviews-caption { margin:8px 0 18px;font-size:13px;color:#617484;line-height:1.55; }
.steam-review { min-width:0;background:none;border-radius:0;scroll-margin-top:30px; }
.steam-review-avatar { position:relative;overflow:hidden; }
.steam-review-avatar img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.steam-review-avatar img[hidden] { display:none; }
.steam-review-author { overflow-wrap:anywhere; }
.steam-review-info { display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-left:auto;font-size:11px;line-height:1.5; }
.salt-release .steam-review .review-person { display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0; }
.steam-review-author-line { display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0; }
.steam-review .steam-review-info { justify-content:flex-start;margin-left:0;gap:4px 12px; }
.steam-review-info .steam-review-playtime { display:inline-flex;align-items:center;gap:12px; }
.steam-review-info .steam-review-playtime::before { content:"·";color:#a7b2b9; }
.steam-review-playtime { color:#80909b;font-size:11px;font-variant-numeric:tabular-nums; }
.steam-review-verdict { display:inline-flex;align-items:center;gap:5px;font-weight:500; }
.steam-review-verdict .icon { width:13px;height:13px;flex-shrink:0; }
.steam-review.is-collapsible:not(.is-expanded) .steam-review-text { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;max-height:9.9em;overflow:hidden; }
.steam-review-footer { flex-wrap:wrap; }
.steam-review-toggle[hidden] { display:none; }
.steam-review-toggle:hover { color:#244d38; }
.steam-review-toggle:focus-visible { outline:2px solid #6d9d39;outline-offset:4px; }
.game-rating-card.is-empty .game-rating-value,.game-rating-card.is-empty .game-rating-distribution { display:none; }
.salt-release .game-rating-card.is-empty { display:block; }
.game-rating-card.is-empty .game-rating-summary { flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px 26px; }
.game-rating-card.is-empty .game-rating-links { display:flex;align-items:center;gap:18px;flex-wrap:wrap; }
.game-rating-card.is-empty #rating-read-reviews { margin-top:0; }
.swarm { cursor:help; }
.community-feed { grid-column:1;grid-row:1;min-width:0; }
.salt-release .reviews-heading { justify-content:flex-start;gap:12px; }
.salt-release .reviews-heading>.community-tab-count { background:#e6edf2;color:#456071; }
.community-tabs { display:flex;align-items:center;gap:28px;border-bottom:1px solid #dfe7e9;margin-bottom:20px; }
.community-tabs[hidden],.community-panel[hidden] { display:none; }
.community-tabs button { position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:48px;padding:0 0 14px;color:#697e8e;font-size:14px;font-weight:550;line-height:1.4;white-space:nowrap; }
.community-tab-icon { flex:none;width:16px;height:16px;color:#8195a3; }
.community-tab-count,.media-tab-count { display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:24px;padding:2px 7px;border-radius:var(--radius-detail);background:#f0f3f5;color:#738592;font-size:11px;font-weight:600;line-height:18px;font-variant-numeric:tabular-nums; }
.community-tab-count[hidden],.media-tab-count[hidden] { display:none; }
.tabs .media-tabs-group { display:contents; }
.tabs .comments-scroll-link { flex-shrink:0;position:relative;display:flex;gap:8px;align-items:center;padding:0 0 13px;color:#34415a;font-size:14px;font-weight:550;white-space:nowrap;text-decoration:none;transition:color .18s ease; }
.tabs .comments-scroll-link::after { content:"";position:absolute;inset:auto 0 0;height:2px;background:#78a755;opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity .12s ease,transform .26s cubic-bezier(.2,.7,.25,1); }
.tabs .comments-scroll-link:is(:hover,:focus-visible) { color:#1d332b; }
.tabs .comments-scroll-link:is(:hover,:focus-visible) .tab-icon { color:#527c43; }
.tabs .comments-scroll-link:is(:hover,:focus-visible)::after { opacity:1;transform:scaleX(1); }
@media(max-width:540px) { .tabs .comments-scroll-link { padding-bottom:12px;min-height:45px; } }
.community-tabs button[aria-selected="true"] .community-tab-count,.tabs button[aria-selected="true"] .media-tab-count { background:#e6edf2;color:#304e61; }
.community-tabs button[aria-selected="true"] .community-tab-icon { color:#546f81; }
.community-tabs button[aria-selected="true"] { color:#213745;font-weight:650; }
.community-tabs button[aria-selected="true"]::after { content:"";position:absolute;inset:auto 0 -1px;height:3px;background:#7ca957; }
.community-tabs button:hover { color:#476e34; }
.community-tabs button:focus-visible { outline:2px solid #7ca957;outline-offset:4px; }
.community-panel:focus-visible { outline:2px solid #7ca957;outline-offset:5px; }
.community-panel { scroll-margin-top:30px; }
.community-panel .community-opinions { margin:0; }
.community-panel .community-opinions-header { display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:18px 30px;margin:0;padding:0 0 20px;border-bottom:1px solid #e3e9e5; }
.salt-release .community-panel #steam-reviews-title { font-size:16px;font-weight:600;line-height:1.3; }
.community-panel #game-rating-content { flex:0 1 260px;max-width:100%; }
.community-panel .steam-rating--community .steam-score { font-size:24px; }
.community-panel .steam-rating--community .steam-recommend { font-size:11px; }
.community-panel .steam-rating--community .steam-total { font-size:11px; }
.community-panel .steam-rating-counts { font-size:10px; }
.community-panel .steam-review-text { max-height:none; }
.salt-release .community-panel .steam-review { padding-block:20px; }
.salt-release .community-panel .steam-review:last-child { border-bottom:0; }
.salt-release .reviews-area:has(.community-tabs:not([hidden])) .review-form--sidebar { margin-top:68px; }
@media(max-width:800px) {
 .community-opinions-header { grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:26px; }
 .community-opinions #game-rating-content { max-width:440px;width:100%; }
 .community-opinions { margin-bottom:34px; }
}
@media(max-width:700px) {
 .steam-rating { grid-template-columns:140px minmax(0,1fr);gap:20px; }
 .steam-score { font-size:44px; }
 .community-tabs { gap:24px; }
 .steam-review-info { margin-left:0; }
}
@media(max-width:900px) {
 .salt-release .community-feed { grid-column:1;grid-row:auto; }
 .salt-release .reviews-area .review-form--sidebar,
 .salt-release .reviews-area:has(.community-tabs:not([hidden])) .review-form--sidebar { margin-top:24px; }
}
@media(max-width:440px) {
 .game-template .game-intro { padding-bottom:30px; }
 .game-template .hero-utility { margin-top:22px; }
 .steam-rating { grid-template-columns:1fr;gap:18px; }
 .steam-rating-summary { display:grid;grid-template-columns:auto 1fr;column-gap:17px;align-items:center; }
 .steam-score { grid-column:1;grid-row:1/3; }
 .steam-caption,.steam-recommend { grid-column:2; }
 .community-tabs { gap:16px; }
 .community-tabs button { gap:6px;font-size:12px; }
 .community-tab-icon { display:none; }
 .community-tab-count,.media-tab-count { min-width:22px;padding:1px 5px;font-size:10px; }
 .community-panel #game-rating-content { flex-basis:100%;max-width:320px; }
}
/* Steam or the site's game score occupies the same cell in every release view. */
.release-steam-rating { scroll-margin-top:100px; }
.release-facts .steam-rating.steam-rating--compact { display:block;width:100%;max-width:200px;padding-top:1px;color:#304253;text-decoration:none; }
.steam-rating--compact .steam-rating-top { align-items:baseline;flex-wrap:wrap;gap:2px 8px; }
.steam-rating--compact .steam-score { color:#304253;font-size:18px;font-weight:650;line-height:1.2;letter-spacing:-.03em; }
.steam-rating--compact .site-rating-scale { font-size:12px;font-weight:450;letter-spacing:0; }
.steam-rating--compact .steam-total { margin-left:auto;color:#7a8c99;font-size:10px;font-weight:450;line-height:1.4;white-space:nowrap; }
.steam-rating--compact .steam-rating-bar { display:block;height:8px;margin:7px 0 0; }
.steam-rating--compact:hover .steam-score { color:#527b37; }
.steam-rating--compact:focus-visible { outline:2px solid #7ca957;outline-offset:4px;border-radius:var(--radius-line); }
.community-panel #steam-opinions .community-opinions-header { padding-bottom:16px; }

/* The comment list and composer share the release component's neutral palette. */
.salt-release #review-list:not(:empty) { border:0;border-radius:0;background:none; }
.salt-release #review-list>.review-entry { --comment-avatar-bg:#dceaff;--comment-avatar-ink:#315d9d;grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding:20px 0;border-bottom:0; }
.salt-release #review-list>.review-entry:last-child { border-bottom:0; }
.salt-release #review-list .review-avatar { width:32px;height:32px;border-radius:var(--radius-detail);background:var(--comment-avatar-bg);color:var(--comment-avatar-ink); }
.salt-release #review-list .review-entry[data-avatar-tone="violet"] { --comment-avatar-bg:#e9dffc;--comment-avatar-ink:#6d4ba0; }
.salt-release #review-list .review-entry[data-avatar-tone="green"] { --comment-avatar-bg:#d5efe4;--comment-avatar-ink:#287157; }
.salt-release #review-list .review-entry[data-avatar-tone="orange"] { --comment-avatar-bg:#fce4d3;--comment-avatar-ink:#995729; }
.salt-release #review-list .review-entry[data-avatar-tone="rose"] { --comment-avatar-bg:#f7dce6;--comment-avatar-ink:#914861; }
.salt-release #review-list .review-entry[data-avatar-tone="teal"] { --comment-avatar-bg:#d7eef1;--comment-avatar-ink:#286e79; }
.salt-release #review-list .review-entry[data-avatar-tone="gold"] { --comment-avatar-bg:#f5edca;--comment-avatar-ink:#7d6521; }
.salt-release #review-list .review-entry[data-avatar-tone="olive"] { --comment-avatar-bg:#e5edce;--comment-avatar-ink:#566b2d; }
.salt-release #review-list .review-entry-head { min-height:24px;gap:4px 10px; }
.salt-release #review-list .review-person strong { font-size:14px;color:var(--comment-avatar-ink,#243746); }
.salt-release #review-list .review-person time { color:#778996;font-size:11px; }
.salt-release #review-list .review-entry-main { margin-top:4px; }
.salt-release #review-list .review-entry-main>p { max-width:none;color:#344958;font-size:14px;line-height:1.55; }
.salt-release #review-list .review-entry-content:has(>.review-replies>.review-reply)>.review-entry-main>p { font-weight:700; }
.salt-release #review-list .review-entry-actions { margin-top:5px;gap:12px; }
.salt-release #review-list .review-entry-actions :is(button,a) { min-height:28px;padding:2px 0;border-radius:var(--radius-control);color:#546e81;font-size:11.5px; }
.salt-release #review-list .review-entry-actions :is(button,a):hover { background:none;color:#213a4b;text-decoration:underline;text-underline-offset:3px; }
.salt-release #review-list .review-votes { display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px; }
.salt-release #review-list .review-entry-actions { flex-wrap:wrap;column-gap:18px;row-gap:2px; }
.salt-release #review-list .review-entry-actions .review-vote { gap:5px;min-width:34px;padding:3px 5px;color:#7c8e9b;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums; }
.salt-release #review-list .review-vote .icon { width:14px;height:14px; }
.salt-release #review-list .review-entry-actions .review-vote:hover { text-decoration:none;background:#f0f4f6; }
.salt-release #review-list .review-entry-actions .review-vote--like[aria-pressed="true"] { color:#507c37;background:#eef4e9; }
.salt-release #review-list .review-entry-actions .review-vote--dislike[aria-pressed="true"] { color:#aa625a;background:#f9efed; }
.salt-release #review-list .review-vote:disabled { cursor:wait;opacity:.55; }
.salt-release #review-list .review-entry-actions button:focus-visible { outline:2px solid #839caa;outline-offset:3px; }
.salt-release #review-list .review-vote-status { flex-basis:100%;color:#a65951;font-size:11px;line-height:1.5; }
.salt-release #review-list .review-vote-status:empty { display:none; }
.salt-release #review-list .review-replies { margin-top:10px;padding:14px 0 2px 14px;border-top:0;border-left:2px solid var(--comment-avatar-bg);border-radius:0;background:none;gap:14px; }
.salt-release #review-list .review-reply+.review-reply { padding-top:0;border-top:0; }
.salt-release #review-list .review-reply-head { gap:4px 8px; }
.salt-release #review-list .review-reply-head strong { color:#2b4050;font-size:12px; }
.salt-release #review-list .review-reply p { margin-top:5px;color:#445c6c;line-height:1.55; }
.salt-release #review-list .review-reply-form { border:0;border-radius:var(--radius-surface);background:#f3f6f8; }
.salt-release .review-form--sidebar :is(.review-fields label,.review-text-field) { color:#526676;gap:6px; }
.salt-release .review-form--sidebar .review-fields { gap:14px; }
.salt-release .review-form--sidebar .review-composer-body :is(input,textarea) { color:#2b4050; }
.salt-release .review-form--sidebar :is(input,textarea)::placeholder { color:#7b8b97; }
.salt-release .review-form--sidebar .review-composer-body :is(input,textarea):hover { border-color:#b6c7d3; }
.salt-release .review-form--sidebar .review-composer-body :is(input,textarea):focus { border-color:#7995a8;box-shadow:0 0 0 3px #7995a81a; }
.salt-release .review-form--sidebar textarea { min-height:112px; }
@media(max-width:540px) {
 .salt-release #review-list>.review-entry { grid-template-columns:28px minmax(0,1fr);padding:14px 0;column-gap:10px; }
 .salt-release #review-list .review-avatar { width:28px;height:28px;font-size:11px; }
 .salt-release #review-list .review-entry-head { align-items:flex-start; }
 .salt-release #review-list .review-person { gap:4px 8px; }
 .salt-release #review-list .review-replies { padding:12px 0 2px 12px; }
 .salt-release .review-form--sidebar .review-composer-body { padding:18px; }
}
