/* Graphite & Sage. This opt-in scope excludes the parent TaHinny site. */
html[data-gft-theme="graphite-sage"] {
  color-scheme: dark;
  --gft-bg: #191d20;
  --gft-surface: #242a2d;
  --gft-raised: #2c3437;
  --gft-line: #363f42;
  --gft-text: #e1e7e5;
  --gft-muted: #a6b2ae;
  --gft-sage: #8db7a6;
  --gft-blue: #8eabcb;
  --gft-amber: #d8b57b;
  --gft-negative: #d99b97;
  --gft-font: "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;
  --gft-shell-bg: var(--gft-bg);
  --gft-shell-panel: var(--gft-surface);
  --gft-shell-panel-strong: var(--gft-raised);
  --gft-shell-line: var(--gft-line);
  --gft-shell-text: var(--gft-text);
  --gft-shell-muted: var(--gft-muted);
  --gft-shell-green: var(--gft-sage);
  --gft-shell-cyan: var(--gft-blue);
  --gft-shell-blue: var(--gft-blue);
  --gft-shell-amber: var(--gft-amber);
  --gft-shell-coral: var(--gft-negative);
  --gft-shell-violet: #b3a8c9;
  --gft-shell-muted-green: var(--gft-sage);
  --gft-shell-font: var(--gft-font);
  --gft-shell-mono: var(--gft-font);
}

html[data-gft-theme] body {
  --bg: var(--gft-bg);
  --bg-deep: var(--gft-bg);
  --panel: var(--gft-surface);
  --panel-2: var(--gft-raised);
  --panel-3: #303b3e;
  --border: var(--gft-line);
  --border-soft: var(--gft-line);
  --panel-strong: var(--gft-raised);
  --surface: var(--gft-surface);
  --surface-strong: var(--gft-raised);
  --surface-soft: #202629;
  --text: var(--gft-text);
  --ink: var(--gft-text);
  --muted: var(--gft-muted);
  --dim: var(--gft-muted);
  --line: var(--gft-line);
  --line-strong: #647971;
  --green: var(--gft-sage);
  --accent: var(--gft-sage);
  --accent-strong: var(--gft-sage);
  --lime: var(--gft-sage);
  --soft: var(--gft-muted);
  --mono: var(--gft-font);
  --cyan: var(--gft-blue);
  --blue: var(--gft-blue);
  --amber: var(--gft-amber);
  --coral: var(--gft-negative);
  --red: var(--gft-negative);
  --violet: #b3a8c9;
  --shadow: none;
  --radius: 6px;
  background: var(--gft-bg) !important;
  color: var(--gft-text);
  font-family: var(--gft-font) !important;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
}

html[data-gft-theme] body :where(button, input, select, textarea, h1, h2, h3, h4, p, span, strong, small, label, dt, dd, th, td, a, summary, text) {
  font-family: var(--gft-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html[data-gft-theme] :is(h1,h2,h3,h4,strong,th) { font-weight: 600 !important; }
html[data-gft-theme] :is(button,summary,label,dt) { font-weight: 500 !important; }
html[data-gft-theme] h1:not(.visually-hidden) { font-size: 26px; line-height: 1.2; }
html[data-gft-theme] :where(h2) { font-size: 20px; line-height: 1.25; }
html[data-gft-theme] :where(h3) { font-size: 17px; line-height: 1.3; }
html[data-gft-theme] :is(button, input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select) {
  border-radius: 4px;
  box-shadow: none;
  font-size: 14px;
  font-weight: 500;
}
html[data-gft-theme] :is(button:disabled,input:disabled,select:disabled) { opacity: .5; cursor: not-allowed; }
html[data-gft-theme] :focus-visible { outline: 2px solid var(--gft-sage) !important; outline-offset: 3px; }
html[data-gft-theme] :is(button[aria-pressed="true"],button[aria-selected="true"],button.is-active):not(.toolkit-drawer-toggle) {
  background: #344a42;
  border-color: #647971;
  color: var(--gft-text);
  box-shadow: none;
}
html[data-gft-theme] :is(.site-header,.topbar,.index-topbar,.prices-topbar,.hardware-topbar,.hardware-sales-topbar,.milestones-topbar,.tracker-topbar,.affordability-topbar,.game-pass-toolkit-row,.toolkit-generated-header) {
  background: var(--gft-bg) !important;
  border-bottom-color: var(--gft-line);
  backdrop-filter: none;
  box-shadow: none;
}
html[data-gft-theme] :is(.brand-copy strong,.stream-brand-copy strong,.brand-title) {
  color: var(--gft-text);
  font-size: 16px;
  font-weight: 600 !important;
  line-height: 1.2;
  white-space: normal;
  text-overflow: clip;
  overflow: visible;
}
html[data-gft-theme] .brand-mark { display:none !important; }
html[data-gft-theme] :is(.toolkit-drawer,.toolkit-drawer-head) { background: #202629; border-color: var(--gft-line); }
html[data-gft-theme] .toolkit-drawer-nav { gap: 16px; padding: 12px; }
html[data-gft-theme] .toolkit-drawer-group h2 { font-size: 12px; font-weight: 500; color: var(--gft-muted); }
html[data-gft-theme] .toolkit-drawer-link { padding: 8px; border-radius: 4px; }
html[data-gft-theme] .toolkit-drawer-link span:not(.toolkit-drawer-swatch) { font-size: 14px; font-weight: 500; }
html[data-gft-theme] .toolkit-drawer-link[aria-current="page"] { background: #2d3d36; border-color: transparent; color: var(--gft-sage); }
html[data-gft-theme] .toolkit-drawer-badge { font-weight: 500; color: var(--gft-muted); border-color: var(--gft-line); }
html[data-gft-theme] :is(.toolkit-drawer-toggle,.toolkit-drawer-close) { background: transparent; border-color: transparent; border-radius: 4px; color: var(--gft-text); }
html[data-gft-theme] .toolkit-drawer-toggle { display: grid; padding: 10px; }
html[data-gft-theme] :is(.toolkit-drawer-toggle,.toolkit-drawer-close):hover { outline:none; color:var(--gft-sage); }
html[data-gft-theme] .gft-icon { display:inline-block; width:22px; height:22px; flex:none; background:currentColor; mask:var(--gft-icon) center / contain no-repeat; -webkit-mask:var(--gft-icon) center / contain no-repeat; }
html[data-gft-theme] .toolkit-drawer-toggle .gft-icon { width:22px; height:22px; }
html[data-gft-theme] :is(.site-legal-footer,.site-footer) { color:var(--gft-muted); border-color:var(--gft-line); box-shadow:none; }
html[data-gft-theme] :is(.site-legal-footer,.site-footer) a { color:var(--gft-muted); font-weight:500; text-decoration:none; }
html[data-gft-theme] :is(.site-legal-footer,.site-footer) a:hover { color:var(--gft-sage); }
html[data-gft-theme] :is(.site-legal-footer,.site-footer) a { display:inline-flex; min-height:44px; align-items:center; }

/* The homepage is a compact directory of equal tiles. */
html[data-gft-theme] .gft-home-main { max-width:1280px; padding:24px 0; }
html[data-gft-theme] .gft-home-v2 .intro-band { grid-template-columns:minmax(0,1fr) minmax(240px,360px); align-items:center; padding:0 0 20px; gap:24px; border:0; }
html[data-gft-theme] .gft-home-v2 .intro-copy h1 { max-width:none; font-size:28px; line-height:1.2; }
html[data-gft-theme] .gft-home-v2 .intro-copy p { max-width:650px; font-size:15px; margin-top:8px; line-height:1.5; }
html[data-gft-theme] .gft-home-v2 .tool-search-form { gap:4px; }
html[data-gft-theme] .gft-home-v2 .tool-search-form label { font-size:13px; font-weight:500; color:var(--gft-muted); }
html[data-gft-theme] .gft-home-v2 .tool-search-form input { min-height:44px; border-color:var(--gft-line); background:var(--gft-surface); padding:0 12px; }
html[data-gft-theme] .gft-home-v2 .all-tools { padding:0; }
html[data-gft-theme] .gft-home-v2 .all-tools-head { margin:0; }
html[data-gft-theme] .gft-home-v2 .filter-list { gap:4px; margin:0 0 16px; padding-bottom:8px; border-bottom:1px solid var(--gft-line); }
html[data-gft-theme] .gft-home-v2 .filter-button { min-height:44px; padding:0 12px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--gft-muted); font-size:13px; font-weight:500; }
html[data-gft-theme] .gft-home-v2 .filter-button[aria-pressed="true"] { color:var(--gft-sage); border-bottom-color:var(--gft-sage); background:#26322d; }
html[data-gft-theme] .gft-home-v2 .tool-directory { grid-template-columns:repeat(auto-fit,minmax(min(100%,14.6875rem),1fr)); gap:12px; grid-auto-rows:1fr; }
html[data-gft-theme] .gft-home-v2 .tool-card { display:grid; grid-template-columns:1fr; grid-template-rows:32px auto 1fr; gap:12px; min-height:170px; padding:18px; border:1px solid var(--gft-line); border-radius:6px; background:var(--gft-surface); box-shadow:none; }
html[data-gft-theme] .gft-home-v2 .tool-card::before,
html[data-gft-theme] .gft-home-v2 .tool-card::after { content:none; }
html[data-gft-theme] .gft-home-v2 .tool-card:hover { background:#2a3335; filter:none; outline:none; border-color:#647971; }
html[data-gft-theme] .gft-home-v2 .tool-card .card-badges { grid-column:1; align-self:start; gap:8px; }
html[data-gft-theme] .gft-home-v2 .card-badges .gft-icon { width:26px; height:26px; color:var(--gft-muted); margin-right:4px; }
html[data-gft-theme] .gft-home-v2 .card-tag,
html[data-gft-theme] .gft-home-v2 .beta-badge { border:0; padding:0; background:transparent; font-size:11px; font-weight:500; color:var(--tone); }
html[data-gft-theme] .gft-home-v2 .tool-card h3 { font-size:18px; line-height:1.25; margin:0; grid-column:1; }
html[data-gft-theme] .gft-home-v2 .tool-card p { grid-column:1; font-size:14px; line-height:1.45; color:var(--gft-muted); }
html[data-gft-theme] .tone-market { --tone:var(--gft-sage); }
html[data-gft-theme] .tone-data { --tone:var(--gft-blue); }
html[data-gft-theme] .tone-media { --tone:#b3a8c9; }
html[data-gft-theme] .tone-pricing { --tone:var(--gft-amber); }
html[data-gft-theme] .tone-industry { --tone:#b8b0a0; }
html[data-gft-theme] .tone-releases { --tone:var(--gft-sage); }
html[data-gft-theme] .gft-home-v2 .tools-note { padding:24px 0 0; }

/* Rank-first wishlist with a compact, labelled official-source action. */
html[data-gft-theme] .wishlist-copy h1 { font-size:24px; line-height:1.2; }
html[data-gft-theme] .wishlist-intro { padding:16px 0 12px; }
html[data-gft-theme] .wishlist-copy p { font-size:14px; }
html[data-gft-theme] .wishlist-source #wishlist-source-status { font-size:12px; font-weight:500; color:var(--gft-muted); }
html[data-gft-theme] .wishlist-controls { flex-wrap:wrap; gap:8px 16px; padding:8px 0; }
html[data-gft-theme] :is(.wishlist-filter,.wishlist-comparison) { gap:4px; }
html[data-gft-theme] :is(.wishlist-filter-button,.wishlist-comparison-button) { border:0; font-size:13px; padding:0 10px; font-weight:500; }
html[data-gft-theme] .wishlist-row { grid-template-columns:52px 112px minmax(0,1fr) 44px; gap:12px; padding:12px 0; }
html[data-gft-theme] .wishlist-rank-cell { display:grid; gap:6px; align-content:center; }
html[data-gft-theme] .wishlist-rank { font-size:18px; font-weight:500; }
html[data-gft-theme] .wishlist-movement { border:0; padding:0; font-size:11px; font-weight:500; }
html[data-gft-theme] .wishlist-capsule { width:112px; border:0; border-radius:4px; }
html[data-gft-theme] .wishlist-title { font-size:17px; font-weight:600; }
html[data-gft-theme] .wishlist-steam-link { width:44px; padding:0; border:0; color:var(--gft-muted); }
html[data-gft-theme] .wishlist-count { font-weight:400; font-size:12px; }

/* Shared analytical surfaces: retain structure and source disclosure. */
html[data-gft-theme] :is(.chart-card,.controls-card,.selected-panel,.leaderboard-panel,.search-card,.explorer-guide,.view-panel,.evidence-health,.analyst-snapshot,.profile-section,.source-tool-card) { box-shadow:none; }
html[data-gft-theme] :is(.chart-card,.controls-card,.selected-panel,.leaderboard-panel,.dashboard-card,.platform-card,.chart-panel) { border-radius:4px; background:var(--gft-surface); border-color:var(--gft-line); }
html[data-gft-theme] :is(.chart-card .controls-card,.chart-card .chart-card,.view-panel .chart-card) { border:0; background:transparent; }
html[data-gft-theme] :is(.eyebrow,.rank-label,.stat-label,.metric-label,.kicker,.meta-label,.table-eyebrow) { font-size:12px; font-weight:500; color:var(--gft-muted); }
html[data-gft-theme] :is(.controls-card,.chart-actions,.chart-card-head) { gap:12px; }
html[data-gft-theme] :is(.controls-card,.chart-card-head) { padding:12px; }

/* Games Chart and Hype: quiet rankings with consistent scan columns. */
html[data-gft-theme] :is(.chart-row,.chart-item,.hype-table tr) { background:var(--gft-surface); }
html[data-gft-theme] .chart-list { gap:0; }
html[data-gft-theme] .chart-item { border:0; border-bottom:1px solid var(--gft-line); }
html[data-gft-theme] .chart-row { border:0; padding:10px 4px; }
html[data-gft-theme] .chart-row:hover { background:var(--gft-raised); }
html[data-gft-theme] .chart-row .position { font-size:20px; font-weight:500; }
html[data-gft-theme] .chart-row .movement { background:transparent; font-weight:500; color:var(--gft-muted); }
html[data-gft-theme] .chart-row .movement.up { color:var(--gft-sage); }
html[data-gft-theme] .chart-row .movement.down { color:var(--gft-negative); }
html[data-gft-theme] :is(.search-box,.icon-button,.view-switch) { background:var(--gft-surface); }
html[data-gft-theme] :is(.hype-table .game-title-copy span,.hype-table .release-cell small) { font-weight:400; }
html[data-gft-theme] .hype-table .rank-cell { border:0; }
html[data-gft-theme] .chart-bar-track i { background:var(--gft-sage); box-shadow:none; }
html[data-gft-theme] :is(.chart-app,.hype-app) :is(.game-row,.chart-row,.rank-row) { box-shadow:none; border-color:var(--gft-line); }
html[data-gft-theme] :is(.chart-app,.hype-app) :is(.game-name,.game-title,.rank-title) { font-size:16px; font-weight:600; line-height:1.3; }
html[data-gft-theme] :is(.platform-tabs,.metric-tabs,.view-tabs,.chart-view-tabs,.mode-tabs) { gap:4px; }
html[data-gft-theme] :is(.platform-tab,.metric-tab,.view-tab,.mode-tab) { font-size:13px; border-radius:4px; box-shadow:none; }

/* Engagement: selected identity, compact filters, readable chart and list. */
html[data-gft-theme] .stream-tracker-page .tracker-shell { padding-top:16px; gap:18px; }
html[data-gft-theme] .stream-tracker-page :is(.selected-panel,.leaderboard-panel) { border:0; padding:0; background:transparent; }
html[data-gft-theme] .stream-tracker-page .selected-summary { gap:12px; padding:0 0 12px; }
html[data-gft-theme] .stream-tracker-page .selected-copy h2 { font-size:24px; line-height:1.2; }
html[data-gft-theme] .stream-tracker-page .selected-total span { font-size:28px; font-weight:600; }
html[data-gft-theme] .stream-tracker-page .selected-total { border:0; padding:0; background:transparent; }
html[data-gft-theme] .stream-tracker-page .selected-summary #selected-art { width:52px; height:70px; }
html[data-gft-theme] .stream-tracker-page .tracker-filters { gap:12px; }
html[data-gft-theme] .stream-tracker-page .filter-group { gap:4px; }
html[data-gft-theme] .stream-tracker-page .filter-toggle { min-height:44px; border-radius:4px; font-size:13px; padding:6px 9px; }
html[data-gft-theme] .stream-tracker-page .filter-toggle small { font-size:11px; }
html[data-gft-theme] .stream-tracker-page .section-heading h2 { font-size:22px; line-height:1.25; }
html[data-gft-theme] .stream-tracker-page .game-row { border:0; border-bottom:1px solid var(--gft-line); border-radius:0; background:transparent; padding:12px 0; }
html[data-gft-theme] .chart-evidence-details { border-bottom:1px solid var(--gft-line); font-size:12px; color:var(--gft-muted); }
html[data-gft-theme] .chart-evidence-details summary { display:flex; align-items:center; min-height:44px; cursor:pointer; }
html[data-gft-theme] .chart-evidence-details .signal-key { padding:4px 0 12px; }

/* VGI: one-minute profile hierarchy and compact evidence context. */
html[data-gft-theme] .profile-masthead { gap:18px; padding:16px 0; }
html[data-gft-theme] .profile-identity { gap:10px; align-content:start; }
html[data-gft-theme] .profile-identity h2 { font-size:28px; line-height:1.2; }
html[data-gft-theme] .identity-facts { gap:10px 16px; }
html[data-gft-theme] .identity-fact { align-content:start; gap:3px; }
html[data-gft-theme] .identity-fact strong { font-size:14px; }
html[data-gft-theme] .coverage-summary { padding:10px 0; border:0; border-top:1px solid var(--gft-line); background:transparent; }
html[data-gft-theme] :is(.signal-card,.snapshot-signal,.analyst-brief,.key-findings,.evidence-health) { box-shadow:none; border-radius:4px; }
html[data-gft-theme] :is(.signal-value,.snapshot-signal-value,.metric-value) { font-size:26px; line-height:1.2; font-weight:600; }
html[data-gft-theme] .evidence-health { padding:12px 0; border:0; border-bottom:1px solid var(--gft-line); background:transparent; }

/* The separately built library is adapted at its host stylesheet boundary. */
html[data-gft-theme] body.game-library-page { --panel-2:var(--gft-raised); --panel-3:#303b3e; --border:var(--gft-line); --green-soft:#2d3d36; }
html[data-gft-theme] .game-library-page .workspace { grid-template-columns:190px minmax(0,1fr) 280px; gap:12px; }
html[data-gft-theme] .game-library-page .workspace.filters-collapsed { grid-template-columns:minmax(0,1fr) 280px; }
html[data-gft-theme] .game-library-page :is(.filter-rail,.library-panel,.detail-panel) { background:var(--gft-surface); border-color:var(--gft-line); border-radius:4px; box-shadow:none; }
html[data-gft-theme] .game-library-page :is(.filter-rail,.detail-panel) { padding:12px; }
html[data-gft-theme] .game-library-page .game-card { border-color:var(--gft-line); background:var(--gft-surface) !important; border-radius:4px; }
html[data-gft-theme] .game-library-page :is(.game-grid,.inline-detail-popout,.mobile-detail-popout,.detail-title,.detail-title h2) { background:transparent; box-shadow:none; }
html[data-gft-theme] .game-library-page .detail-title h2 { padding:0; border:0; color:var(--gft-text); }
html[data-gft-theme] .game-library-page .game-library-search-toggle { background:var(--gft-surface); border-color:var(--gft-line); }
html[data-gft-theme] .game-library-page :is(.calendar-group,.calendar-group h2,.calendar-row) { background:var(--gft-surface); border-color:var(--gft-line); }
html[data-gft-theme] .game-library-page .calendar-row.selected { background:#2d3d36; }
html[data-gft-theme] .game-library-page .summary-strip article { padding:8px; min-height:0; background:transparent; border:0; border-bottom:1px solid var(--gft-line); }
html[data-gft-theme] .game-library-page .summary-strip h2 { font-size:16px; }
html[data-gft-theme] .game-library-page :is(.chip-row span,.release-date,.taxonomy span,.summary-strip article span) { font-weight:500; }
html[data-gft-theme] .game-library-page .detail-stats > div { background:transparent; padding:8px 0; border-width:0 0 1px; border-color:var(--gft-line); }
html[data-gft-theme] .game-library-page .content-actions a { background:transparent; color:var(--gft-sage); min-height:44px; padding:0; }
html[data-gft-theme] .game-library-page :is(.detail-title span,.detail-stats span,.result-bar,.status) { font-weight:500; }
html[data-gft-theme] .game-library-page .detail-title h2 { display:block !important; height:auto; max-height:none; overflow:visible; }
html[data-gft-theme] .game-library-page .game-grid { gap:8px; }
html[data-gft-theme] .game-library-page :is(.app-tabs button,.filter-chip,.icon-button) { border-color:var(--gft-line); background:transparent; color:var(--gft-muted); }
html[data-gft-theme] .game-library-page :is(.app-tabs button.active,.filter-chip.selected,.icon-button.active) { background:#344a42; color:var(--gft-text); border-color:#647971; }

/* Review, map and research tools retain their existing analytical controls. */
html[data-gft-theme] .reviewer-row { min-height:44px; }
html[data-gft-theme] :is(.reviewer-name,.reviewer-score) { font-weight:500; }
html[data-gft-theme] :is(.bias-chart,.map-chart,.site-cell) { background:var(--gft-surface); }
html[data-gft-theme] .bias-row .site-name { font-size:16px; font-weight:600; line-height:1.3; }
html[data-gft-theme] .bias-row .bar.positive { background:var(--gft-sage); box-shadow:none; }
html[data-gft-theme] .bias-row .bar.negative { background:var(--gft-negative); box-shadow:none; }
html[data-gft-theme] .development-map-page :is(.map-shell,.map-panel,.map-card,.map-stage) { border-color:var(--gft-line); box-shadow:none; background:var(--gft-surface); }
html[data-gft-theme] .development-map-page :is(.map-controls,.map-toolbar,.country-detail) { gap:8px; padding:10px; }
html[data-gft-theme] .search-home { min-height:0; padding-top:20px; padding-bottom:12px; }
html[data-gft-theme] .search-home .search-card { border:0; padding:0; background:transparent; gap:12px; box-shadow:none; }
html[data-gft-theme] .search-home .search-info { border:0; padding:8px 0; background:transparent; font-size:14px; }
html[data-gft-theme] .search-home .status-line { margin-top:8px; }
html[data-gft-theme] .search-panel { padding:18px 0 12px; border:0; background:transparent; }
html[data-gft-theme] .search-panel .search-heading h1 { font-size:24px; }
html[data-gft-theme] .explorer-guide { margin:10px 0 0; padding:0; border:0; background:transparent; }
html[data-gft-theme] .explorer-guide summary { display:flex; align-items:center; min-height:44px; color:var(--gft-muted); cursor:pointer; font-size:13px; }
html[data-gft-theme] .explorer-guide p { font-size:14px; line-height:1.5; margin:4px 0; }
html[data-gft-theme] .table-shell { background:var(--gft-surface); }
html[data-gft-theme] .table-shell:has(.empty-state:not([hidden])) { height:auto; min-height:120px; }

/* Briefing, calendar and embargoes: controls should lead directly to content. */
html[data-gft-theme] .briefing-intro { padding:12px 0 8px; gap:5px; }
html[data-gft-theme] .briefing-intro h1 { font-size:24px; line-height:1.2; }
html[data-gft-theme] .briefing-intro-copy p { font-size:14px; }
html[data-gft-theme] .briefing-meta { font-size:12px; font-weight:400; }
html[data-gft-theme] .briefing-controls { gap:8px; padding:8px 0; }
html[data-gft-theme] .briefing-action { font-size:13px; font-weight:500; }
html[data-gft-theme] #build-briefing-button { background:var(--gft-sage); border-color:var(--gft-sage); color:var(--gft-bg); }
html[data-gft-theme] :is(#copy-agenda-button,#print-button) { border-color:transparent; }
html[data-gft-theme] .story-title { font-size:20px; line-height:1.3; }
html[data-gft-theme] .story-item { padding:16px 0; }
html[data-gft-theme] :is(.calendar-heading h1,.calendar-heading h2,.month-title,#month-title) { font-size:26px; line-height:1.2; }
html[data-gft-theme] :is(.calendar-subscribe,.subscribe-button,.calendar-link-primary) { background:#344a42; border-color:#647971; color:var(--gft-text); }
html[data-gft-theme] .embargo-intro { padding:12px 0; gap:6px; }
html[data-gft-theme] .embargo-intro h1 { font-size:24px; }
html[data-gft-theme] .embargo-intro p { font-size:14px; }
html[data-gft-theme] :is(.embargo-row,.embargo-card) { padding:12px 0; border-radius:0; background:transparent; border-width:0 0 1px; }

/* Prices and hardware: aligned compact controls above readable plots. */
html[data-gft-theme] :is(.prices-app,.hardware-app,.hardware-sales-app,.milestones-app) { padding-top:16px; }
html[data-gft-theme] :is(.panel-heading h2,.section-heading h2,.chart-heading-copy h1) { font-size:24px; line-height:1.2; }
html[data-gft-theme] :is(.region-control,.mode-toggle,.price-controls,.market-controls) { gap:4px; }
html[data-gft-theme] .region-button { min-height:44px; padding:0 10px; font-size:13px; }
html[data-gft-theme] .hardware-app .chart-panel { padding:12px; }
html[data-gft-theme] .hardware-sales-app .controls-card { padding:8px 0; border:0; background:transparent; }
html[data-gft-theme] .hardware-sales-app .chart-card { padding:8px 0; background:transparent; border:0; }
html[data-gft-theme] .milestones-app .chart-card { border:0; background:transparent; padding:0; }
html[data-gft-theme] .milestones-app .chart-card-head { padding:8px 0; }
html[data-gft-theme] .xpw-controls { gap:8px 12px; }
html[data-gft-theme] .xpw-type-options { gap:2px; border-color:var(--gft-line); }
html[data-gft-theme] .xpw-type-options button { border-color:transparent; }
html[data-gft-theme] .xpw-type-options button[aria-pressed="true"] { outline:none; border-color:#647971; }
html[data-gft-theme] .xpw-offer-summary { gap:10px; }
html[data-gft-theme] .xpw-countdown { font-size:19px; font-weight:600; }
html[data-gft-theme] .xpw-filter-button:not(:focus-visible) { outline:none; }
html[data-gft-theme] .xpw-filter-button { background:var(--gft-surface); }
html[data-gft-theme] .xpw-filter-button[aria-pressed="true"] { background:#344a42; border-color:#647971; }
html[data-gft-theme] .xpw-row > summary { background:var(--gft-surface); }
html[data-gft-theme] .xpw-row h2 { font-size:17px; line-height:1.25; }
html[data-gft-theme] .xpw-deadline { font-size:17px; font-weight:600; }
html[data-gft-theme] .affordability-page :is(.map-card,.map-panel) { border:0; padding:8px 0; background:transparent; }
html[data-gft-theme] .legend-chip { border-color:var(--gft-line); background:transparent; }
html[data-gft-theme] .legend-chip.is-fast { --legend-fill:#b7c8be; color:#b7c8be; }
html[data-gft-theme] .legend-chip.is-good { --legend-fill:#92b6a5; color:#92b6a5; }
html[data-gft-theme] .legend-chip.is-mid { --legend-fill:#729788; color:var(--gft-text); }
html[data-gft-theme] .legend-chip.is-high { --legend-fill:#a8a590; color:#a8a590; }
html[data-gft-theme] .legend-chip.is-severe { --legend-fill:#c29b7c; color:#c29b7c; }
html[data-gft-theme] .legend-chip.is-extreme { --legend-fill:#c38b86; color:#c38b86; }

/* Timeline / workforce context and converter are presentation-only. */
html[data-gft-theme] .sft-main { padding-top:12px; }
html[data-gft-theme] body.subscription-feature-page.service-xbox { --sft-service:var(--gft-sage); }
html[data-gft-theme] body.subscription-feature-page.service-playstation { --sft-service:var(--gft-blue); }
html[data-gft-theme] body.subscription-feature-page.service-nintendo { --sft-service:var(--gft-negative); }
html[data-gft-theme] body.subscription-feature-page.service-geforce-now { --sft-service:#a7bd93; }
html[data-gft-theme] .sft-timeline { background:var(--gft-surface); }
html[data-gft-theme] .sft-service-tabs { gap:4px; margin-bottom:12px; }
html[data-gft-theme] .sft-service-tabs button { font-size:13px; border-radius:4px; }
html[data-gft-theme] .sft-event-card { background:var(--gft-surface); border-color:var(--gft-line); box-shadow:none; }
html[data-gft-theme] .sft-event-title { font-size:15px; line-height:1.3; font-weight:500; }
html[data-gft-theme] .sft-axis { color:var(--gft-muted); border-color:var(--gft-line); }
html[data-gft-theme] .layoffs-page :is(.metric-card,.stat-card,.summary-card,.impact-card) { border:0; border-left:1px solid var(--gft-line); border-radius:0; padding:12px; background:transparent; }
html[data-gft-theme] .layoffs-page :is(.summary-card,.impact-strip article) strong { font-size:26px; }
html[data-gft-theme] .game-pass-toolkit-row + main { margin-top:16px; }
html[data-gft-theme] body:has(.game-pass-page)::before,
html[data-gft-theme] body:has(.game-pass-page)::after { content:none; }
html[data-gft-theme] .game-pass-page .section-label { color:var(--gft-sage); }
html[data-gft-theme] .game-pass-result-card.is-best { background:#2c3834; }
html[data-gft-theme] .game-pass-page :is(.game-pass-good,.is-better) { color:var(--gft-sage); }
html[data-gft-theme] .game-pass-page :is(.game-pass-bad,.is-worse) { color:var(--gft-negative); }
@media (min-width:769px) {
  html[data-gft-theme] .topbar:has(#platform-filter) { grid-template-columns:44px minmax(150px,1fr) auto; gap:12px; }
  html[data-gft-theme] .topbar:has(#platform-filter) > .brand { justify-self:start; margin:0; }
}

/* The header has only navigation, the linked tool name, and working controls. */
html[data-gft-theme] .gft-header {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap;
  flex-direction:row !important;
  gap:10px !important;
  min-height:56px;
}
html[data-gft-theme] .gft-header > .toolkit-drawer-toggle { flex:0 0 44px; order:-2; margin:0 !important; }
html[data-gft-theme] .gft-header > .gft-header-brand {
  display:flex !important;
  flex:0 1 auto;
  order:-1;
  justify-content:flex-start !important;
  text-align:left !important;
  align-self:center !important;
  justify-self:start !important;
  margin:0 auto 0 0 !important;
  padding:0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}
html[data-gft-theme] .gft-header-brand::before,
html[data-gft-theme] .gft-header-brand::after { content:none !important; }
html[data-gft-theme] .gft-header-brand :is(.brand-mark,.brand-icon,.brand-logo,.logo-mark,.stream-brand-mark) { display:none !important; }
html[data-gft-theme] .gft-header-brand :is(.brand-copy,.stream-brand-copy,strong) { margin:0 !important; padding:0 !important; text-align:left !important; min-width:0; max-width:none !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; }
html[data-gft-theme] .gft-header .gft-header-brand strong { font-size:16px !important; line-height:1.25 !important; }
html[data-gft-theme] .gft-header > [data-toolkit-menu] { display:none !important; }
@media (max-width:767px) {
  html[data-gft-theme] .gft-header { flex-wrap:wrap; gap:4px 10px !important; }
  html[data-gft-theme] .gft-header > .gft-header-brand { flex:1 1 0; margin-right:0 !important; }
  html[data-gft-theme] .gft-header .gft-header-brand strong { font-size:14px !important; }
  html[data-gft-theme] .gft-header > :not(.toolkit-drawer-toggle):not(.gft-header-brand):not(.game-library-search-toggle) { flex-basis:100%; width:100%; max-width:100%; margin:0; }
  html[data-gft-theme] .gft-header > .game-library-search-toggle { flex:0 0 44px; margin:0; }
}
html[data-gft-theme] :is(.settings-strip,.settings-card) { gap:12px; background:var(--gft-surface); box-shadow:none; }
html[data-gft-theme] :is(.settings-strip,.settings-card) label { font-size:13px; line-height:1.4; }
html[data-gft-theme] :is(.source-section,.source-tool-card,.source-note,.source-summary) { background:transparent; border-width:0 0 1px; border-radius:0; padding:16px 0; box-shadow:none; }
html[data-gft-theme] .sources-page :is(h1,h2,h3) { max-width:none; }

@media (max-width: 1279px) {
  html[data-gft-theme] .game-library-page .workspace { grid-template-columns:180px minmax(0,1fr); }
  html[data-gft-theme] .game-library-page .workspace.filters-collapsed { grid-template-columns:minmax(0,1fr); }
}

@media (max-width: 767px) {
  html[data-gft-theme] body:has(#hype-rows) .chart-controls { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:6px; }
  html[data-gft-theme] body:has(#hype-rows) .search-box { width:100%; }
  html[data-gft-theme] body:has(#hype-rows) .view-switch { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; gap:4px; }
  html[data-gft-theme] body:has(#hype-rows) .view-switch button { min-height:44px; min-width:0; padding:4px; font-size:12px; white-space:normal; line-height:1.2; }
  html[data-gft-theme] .chart-row { grid-template-columns:44px 50px minmax(0,1fr); gap:4px 10px; }
  html[data-gft-theme] .chart-row .game-copy strong { line-height:1.3; }
  html[data-gft-theme] .hype-table tr { margin-bottom:0; border-bottom:1px solid var(--gft-line); }
  html[data-gft-theme] .platform-switcher .icon-button { min-height:44px; font-size:12px; }
  html[data-gft-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select) { font-size:16px; }
  html[data-gft-theme] h1:not(.visually-hidden) { font-size:23px; }
  html[data-gft-theme] :is(.brand-copy strong,.stream-brand-copy strong,.brand-title) { font-size:14px !important; line-height:1.2 !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; }
  html[data-gft-theme] .gft-home-main { padding:16px 0; }
  html[data-gft-theme] .gft-home-v2 .intro-band { grid-template-columns:1fr; gap:12px; padding:0 0 12px; }
  html[data-gft-theme] .gft-home-v2 .intro-copy h1 { font-size:23px; }
  html[data-gft-theme] .gft-home-v2 .intro-copy p { font-size:14px; margin-top:6px; }
  html[data-gft-theme] .gft-home-v2 .filter-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; margin-bottom:12px; }
  html[data-gft-theme] .gft-home-v2 .filter-button { font-size:12px; padding:0 4px; }
  html[data-gft-theme] .gft-home-v2 .tool-directory { grid-template-columns:1fr; grid-auto-rows:1fr; gap:8px; }
  html[data-gft-theme] .gft-home-v2 .tool-card { min-height:130px; grid-template-columns:1fr; grid-template-rows:24px auto 1fr; gap:6px; padding:12px 14px; }
  html[data-gft-theme] .gft-home-v2 .tool-card h3 { font-size:17px; }
  html[data-gft-theme] .gft-home-v2 .tool-card p { font-size:13px; }
  html[data-gft-theme] .gft-home-v2 .card-badges .gft-icon { width:22px; height:22px; }
  html[data-gft-theme] .wishlist-copy h1 { font-size:22px; }
  html[data-gft-theme] .wishlist-intro { padding:12px 0 8px; gap:6px; }
  html[data-gft-theme] .wishlist-filter { grid-template-columns:repeat(4,minmax(0,1fr)); }
  html[data-gft-theme] .wishlist-row { grid-template-columns:30px 76px minmax(0,1fr) 44px; gap:8px; align-items:center; }
  html[data-gft-theme] .wishlist-capsule { width:76px; }
  html[data-gft-theme] .wishlist-title { font-size:15px; }
  html[data-gft-theme] .wishlist-steam-link { grid-column:4; grid-row:1; margin:0; width:44px; min-width:44px; min-height:44px; }
  html[data-gft-theme] .wishlist-rank { font-size:16px; }
  html[data-gft-theme] .wishlist-movement { font-size:10px; }
  html[data-gft-theme] .wishlist-main-cell { grid-column:auto; }
  html[data-gft-theme] .wishlist-meta { font-size:12px; }
  html[data-gft-theme] .stream-tracker-page .selected-summary { grid-template-columns:52px minmax(0,1fr); gap:8px; }
  html[data-gft-theme] .stream-tracker-page .stream-brand { grid-column:2 !important; grid-row:1 !important; }
  html[data-gft-theme] .stream-tracker-page .tracker-topbar { display:grid; grid-template-columns:44px minmax(0,1fr); min-height:58px; padding:7px 12px; gap:8px 10px; align-items:center; }
  html[data-gft-theme] .stream-tracker-page .topbar-actions { display:none; }
  html[data-gft-theme] .stream-tracker-page .stream-brand { max-width:none; }
  html[data-gft-theme] .stream-tracker-page .selected-summary img { width:52px; height:70px; }
  html[data-gft-theme] .stream-tracker-page .selected-copy h2 { font-size:21px; }
  html[data-gft-theme] .stream-tracker-page .selected-total { grid-column:2; justify-self:start; text-align:left; margin:0; }
  html[data-gft-theme] .stream-tracker-page .selected-total span { font-size:23px; }
  html[data-gft-theme] .stream-tracker-page .tracker-filters { display:grid; grid-template-columns:1fr; gap:8px; }
  html[data-gft-theme] .stream-tracker-page .filter-group > div { display:flex; flex-wrap:wrap; gap:4px; }
  html[data-gft-theme] .stream-tracker-page .filter-group { display:grid; grid-template-columns:1fr; }
  html[data-gft-theme] .stream-tracker-page .filter-toggle { flex:1 1 0; width:auto; min-width:0; display:flex; justify-content:center; flex-wrap:wrap; padding:5px; font-size:12px; line-height:1.25; }
  html[data-gft-theme] .stream-tracker-page .filter-toggle small { font-size:10px; color:var(--gft-muted); }
  html[data-gft-theme] .stream-tracker-page .filter-group > span { font-size:11px; }
  html[data-gft-theme] .stream-tracker-page .section-heading h2 { font-size:20px; }
  html[data-gft-theme] .profile-masthead { grid-template-columns:72px minmax(0,1fr); gap:12px; padding:12px 0; }
  html[data-gft-theme] .profile-cover { width:72px; height:96px; }
  html[data-gft-theme] .profile-identity h2 { font-size:22px; }
  html[data-gft-theme] .profile-identity { gap:8px; }
  html[data-gft-theme] .identity-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  html[data-gft-theme] .identity-fact strong { font-size:13px; }
  html[data-gft-theme] .game-library-page .workspace,
  html[data-gft-theme] .game-library-page .workspace.filters-collapsed { grid-template-columns:1fr; gap:8px; }
  html[data-gft-theme] .game-library-page .app-shell { padding-inline:10px; }
  html[data-gft-theme] .game-library-page .library-panel { padding:10px; }
  html[data-gft-theme] .game-library-page .game-card { padding:10px; }
  html[data-gft-theme] .game-library-page :is(.inline-detail-popout,.mobile-detail-popout) .detail-panel { display:grid; grid-template-columns:66px minmax(0,1fr); gap:10px; padding:12px; }
  html[data-gft-theme] .game-library-page :is(.inline-detail-popout,.mobile-detail-popout) .hero-frame { width:66px; height:88px; min-height:0; padding:0; border:0; }
  html[data-gft-theme] .game-library-page .hero-frame .hero-shadow { background:none; }
  html[data-gft-theme] .game-library-page .hero-frame .status { position:static; display:block; margin-top:4px; padding:0; font-size:10px; line-height:1.3; background:transparent; }
  html[data-gft-theme] .game-library-page :is(.inline-detail-popout,.mobile-detail-popout) .detail-body { min-width:0; padding:0; }
  html[data-gft-theme] .game-library-page .detail-title { margin:0 0 8px; gap:4px; }
  html[data-gft-theme] .game-library-page .detail-title h2 { font-size:16px; line-height:1.3; }
  html[data-gft-theme] .game-library-page .detail-stats { gap:6px; margin:8px 0; }
  html[data-gft-theme] .game-library-page .detail-stats > div { padding:0; border:0; background:transparent; }
  html[data-gft-theme] .game-library-page .detail-stats strong { font-size:16px; }
  html[data-gft-theme] .game-library-page .content-actions { margin:4px 0; gap:6px; }
  html[data-gft-theme] .game-library-page .content-actions a { background:transparent; color:var(--gft-sage); padding:0 6px; min-height:44px; }
  html[data-gft-theme] .game-library-page .taxonomy { padding-top:6px; margin-top:4px; }
  html[data-gft-theme] .game-library-page .taxonomy h3 { font-size:12px; margin:0 0 4px; color:var(--gft-muted); }
  html[data-gft-theme] .game-library-page .taxonomy span { font-size:11px; font-weight:400; }
  html[data-gft-theme] .game-library-page .app-tabs { gap:4px; padding-block:6px; }
  html[data-gft-theme] .game-library-page .app-tabs button { min-height:44px; padding:6px 8px; font-size:13px; }
  html[data-gft-theme] .briefing-intro h1 { font-size:22px; }
  html[data-gft-theme] .briefing-controls { padding:6px 0; }
  html[data-gft-theme] .catchup-input-row { display:grid; grid-template-columns:minmax(0,1fr) 72px; align-items:end; gap:8px; }
  html[data-gft-theme] .catchup-field-time { grid-column:1; width:auto; }
  html[data-gft-theme] .catchup-field-count { grid-column:2; grid-row:1; width:auto; }
  html[data-gft-theme] .catchup-field-count input { width:100%; }
  html[data-gft-theme] .time-zone-label { min-height:0; grid-column:1 / -1; font-size:11px; padding:0; }
  html[data-gft-theme] .briefing-actions { gap:4px; }
  html[data-gft-theme] .story-title { font-size:19px; }
  html[data-gft-theme] :is(.panel-heading h2,.section-heading h2,.chart-heading-copy h1,.month-title,#month-title) { font-size:22px; }
  html[data-gft-theme] .hardware-app .region-control { display:flex; gap:4px; margin-top:8px; }
  html[data-gft-theme] .hardware-app .region-button { flex:1 1 auto; font-size:12px; padding:0 8px; }
  html[data-gft-theme] .hardware-app .chart-panel { padding:8px; }
  html[data-gft-theme] .search-home { padding-top:12px; }
  html[data-gft-theme] .search-home .search-card { gap:8px; }
  html[data-gft-theme] .search-panel { padding-top:12px; }
  html[data-gft-theme] .xpw-countdown { font-size:17px; }
  html[data-gft-theme] .xpw-row > summary { grid-template-columns:56px minmax(0,1fr) 18px; grid-template-rows:auto auto; gap:6px 10px; align-content:start; }
  html[data-gft-theme] .xpw-row > summary .xpw-art { grid-column:1; grid-row:1 / 3; width:56px; align-self:start; }
  html[data-gft-theme] .xpw-row > summary .xpw-row-main { grid-column:2; grid-row:1; }
  html[data-gft-theme] .xpw-row > summary .xpw-deadline-wrap { grid-column:2; grid-row:2; margin:0; }
  html[data-gft-theme] .xpw-row > summary .xpw-chevron { grid-column:3; grid-row:1 / 3; align-self:center; }
  html[data-gft-theme] .sft-service-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  html[data-gft-theme] .sft-service-tabs button { padding:6px 8px; min-height:44px; }
  html[data-gft-theme] .layoffs-page :is(.metric-grid,.stats-grid,.summary-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  html[data-gft-theme] .layoffs-page .impact-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px 0; border-width:0 0 1px; background:transparent; }
  html[data-gft-theme] .layoffs-page .impact-strip article { padding:0; border:0; background:transparent; }
  html[data-gft-theme] .layoffs-page .impact-strip strong { font-size:22px; line-height:1.3; }
  html[data-gft-theme] .layoffs-page .summary-card strong { font-size:22px; white-space:normal; overflow:visible; }
  html[data-gft-theme] .layoffs-page .summary-card:first-child { grid-column:1 / -1; }
}

html[data-gft-theme] .gft-home-v2 .tool-search-field { display:grid; gap:4px; min-width:0; }
html[data-gft-theme] .gft-home-v2 .tool-category-field { display:none; min-width:0; }

@media (min-width:1100px) {
  html[data-gft-theme] .toolkit-drawer-head { padding:10px 12px 8px; }
  html[data-gft-theme] .toolkit-drawer-title { font-weight:500; }
  html[data-gft-theme] .toolkit-drawer-nav { gap:8px; padding:8px 10px; }
  html[data-gft-theme] .toolkit-drawer-group { gap:0; }
  html[data-gft-theme] .toolkit-drawer-group h2 { margin:3px 6px; font-weight:500 !important; }
  html[data-gft-theme] .toolkit-drawer-link { min-height:34px; padding:6px; }
  html[data-gft-theme] .toolkit-drawer-link span:not(.toolkit-drawer-swatch) { font-weight:400; }
  html[data-gft-theme] .toolkit-drawer-link.is-crosspromo { margin-top:4px; padding-top:10px; }
}

@media (max-width:767px) {
  html[data-gft-theme] .gft-home-v2 .intro-band { grid-template-columns:1fr; gap:12px; }
  html[data-gft-theme] .gft-home-v2.has-compact-filters .tool-search-form { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:10px; align-items:end; }
  html[data-gft-theme] .gft-home-v2 .tool-category-field { display:grid; gap:4px; }
  html[data-gft-theme] .gft-home-v2 .tool-category-field select { width:100%; min-width:0; min-height:44px; border:1px solid var(--gft-line); padding:0 8px; background:var(--gft-surface); color:var(--gft-text); font-size:16px; }
  html[data-gft-theme] .gft-home-v2.has-compact-filters .filter-list { display:none; }
  html[data-gft-theme] .gft-home-v2 .tool-directory { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(10.5rem,calc(50% - 4px))),1fr)); grid-auto-rows:1fr; gap:8px; }
  html[data-gft-theme] .gft-home-v2 .tool-card { min-height:104px; padding:12px; grid-template-rows:auto 1fr; gap:8px; }
  html[data-gft-theme] .gft-home-v2 .tool-card h3 { font-size:1rem; line-height:1.3; align-self:start; overflow-wrap:anywhere; }
  html[data-gft-theme] .gft-home-v2 .tool-card p { display:none; }
  html[data-gft-theme] .gft-home-v2 .tool-card .card-badges { gap:6px; flex-wrap:wrap; }
  html[data-gft-theme] .gft-home-v2 .card-badges .gft-icon { width:20px; height:20px; margin:0; }
}

@media (max-width:360px) {
  html[data-gft-theme] .gft-home-v2 .tool-directory { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html[data-gft-theme] *, html[data-gft-theme] *::before, html[data-gft-theme] *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
