/* Diaspora layout only. Shared MoFutbol tokens, chrome and component treatments stay authoritative. */
.mf-diaspora-layout main { color:var(--color-text); font-family:var(--font-body); }
.mf-diaspora-layout .mf-d2-shell { width:min(var(--max-content),calc(100% - 2 * var(--space-5))); margin-inline:auto; }
.mf-d2-nav { display:flex; flex-wrap:wrap; gap:var(--space-2); padding-block:var(--space-3); border-bottom:1px solid var(--color-border); }
.mf-d2-nav a { display:inline-flex; align-items:center; min-height:44px; padding:var(--space-2) var(--space-3); border-radius:var(--radius-sm); color:var(--color-text); font-size:var(--type-button); font-weight:700; }
.mf-d2-nav a:hover,.mf-d2-nav a[aria-current=page] { color:var(--color-accent); background:var(--color-accent-soft); }
.mf-d2-nav a:focus-visible,.mf-d2-section a:focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
.mf-d2-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.65fr); align-items:center; gap:var(--space-6); padding-block:var(--space-hero); }
.mf-d2-eyebrow { color:var(--color-accent); font-size:var(--type-overline); font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 var(--space-2); }
.mf-d2-intro h1 { font-family:var(--font-heading); font-size:var(--type-hero); line-height:1.04; margin:0 0 var(--space-3); max-width:22ch; }
.mf-d2-intro p:not(.mf-d2-eyebrow) { max-width:var(--max-readable); color:var(--color-muted); margin:0; }
.mf-d2-search label { display:block; font-size:var(--type-meta); font-weight:700; margin-bottom:var(--space-2); }
.mf-d2-search>div { display:flex; gap:var(--space-2); }
.mf-d2-search input { min-width:0; width:100%; min-height:44px; padding:var(--space-3); background:var(--color-surface); border:1px solid var(--color-border-strong); border-radius:var(--radius-sm); color:var(--color-text); font:inherit; }
.mf-d2-section { padding-block:var(--space-section); scroll-margin-top:calc(var(--nav-height) + 5rem); }
.mf-d2-section+.mf-d2-section { border-top:1px solid var(--color-border); }
.mf-d2-section-head { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:var(--space-3); margin-bottom:var(--space-4); }
.mf-d2-section h2 { font-family:var(--font-heading); font-size:var(--type-section); line-height:1.1; margin:0; }
.mf-d2-section-head>a { color:var(--color-accent); font-size:var(--type-meta); font-weight:700; min-height:44px; display:inline-flex; align-items:center; }
.mf-d2-editorial { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); gap:var(--space-gap-lg); align-items:start; }
.mf-d2-card { border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; background:var(--color-surface); box-shadow:var(--shadow-sm); min-width:0; }
.mf-d2-card a { color:inherit; }
.mf-d2-card h3 { font-family:var(--font-heading); font-size:var(--type-section); line-height:1.08; margin:var(--space-2) 0 var(--space-3); }
.mf-d2-card p { margin:var(--space-2) 0; color:var(--color-muted); }
.mf-d2-card img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.mf-d2-card__body { padding:var(--space-card-lg); }
.mf-d2-card__meta { color:var(--color-muted); font-size:var(--type-meta); }
.mf-d2-card a:hover h3,.mf-d2-card h3 a:hover { color:var(--color-accent); }
.mf-d2-story-list { display:grid; gap:var(--space-gap); }
.mf-d2-story-list .mf-d2-card { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:start; }
.mf-d2-story-list .mf-d2-card>a img { aspect-ratio:1; }
.mf-d2-story-list .mf-d2-card__body { padding:var(--space-3); }
.mf-d2-story-list h3 { font-size:var(--type-card); font-family:var(--font-body); font-weight:700; line-height:1.4; margin:var(--space-2) 0; }
.mf-d2-story-list .mf-d2-card__dek { display:none; }
.mf-d2-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-gap-lg); }
.mf-d2-person { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:start; padding:var(--space-card-lg); gap:var(--space-4); }
.mf-d2-person>img { aspect-ratio:4/5; border-radius:var(--radius-sm); object-fit:cover; }
.mf-d2-person--text { grid-template-columns:1fr; }
.mf-d2-person h3 { margin-top:var(--space-1); }
.mf-d2-person__links { display:flex; flex-wrap:wrap; gap:var(--space-4); margin-top:var(--space-3); }
.mf-d2-person__links a { color:var(--color-accent); font-size:var(--type-meta); font-weight:700; min-height:44px; display:inline-flex; align-items:center; }
.mf-d2-network { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr); gap:var(--space-6); padding:var(--space-card-lg); align-items:center; }
.mf-d2-network p { color:var(--color-muted); }
.mf-d2-network__actions { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-4); }
.mf-d2-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); margin:0; }
.mf-d2-totals div { border-left:1px solid var(--color-border); padding-left:var(--space-3); }
.mf-d2-totals dt { font-size:var(--type-meta); color:var(--color-muted); }
.mf-d2-totals dd { font-family:var(--font-heading); font-size:var(--type-hero); color:var(--color-accent); margin:0; }
.mf-d2-media { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-gap); }
.mf-d2-media h3 { font-family:var(--font-body); font-size:var(--type-card); font-weight:700; line-height:1.4; }
.mf-d2-status { color:var(--color-muted); font-size:var(--type-meta); margin-top:var(--space-3); }
.mf-d2-contribute { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:var(--space-4); padding:var(--space-card-lg); }
/* Retain the existing tracker runtime, filters, saved profiles and map hooks. */
.mf-diaspora-layout .mf-ptg { width:min(var(--max-content),calc(100% - 2 * var(--space-5))); border:0; box-shadow:none; background:var(--color-bg); }
.mf-diaspora-layout .mf-ptg-workspace { display:block; min-height:0; }
.mf-diaspora-layout .mf-ptg-main { background:var(--color-bg); border:0; }
.mf-diaspora-layout .mf-ptg-filterbar { position:static; border-radius:var(--radius-md); background:var(--color-surface); padding:var(--space-4); gap:var(--space-3); }
.mf-diaspora-layout .mf-ptg-feature { margin-block:var(--space-4); border-radius:var(--radius-md); background:var(--color-surface); }
.mf-diaspora-layout .mf-ptg-feature-grid { grid-template-columns:160px minmax(0,1fr) minmax(0,1fr); }
.mf-diaspora-layout .mf-ptg-watch-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-gap); overflow:visible; }
.mf-diaspora-layout .mf-ptg-watch { width:auto; min-width:0; display:grid; grid-template-columns:64px minmax(0,1fr); min-height:130px; padding:var(--space-3); gap:var(--space-3); border-radius:var(--radius-md); background:var(--color-surface); color:var(--color-text); text-align:left; }
.mf-diaspora-layout .mf-ptg-watch>span { min-width:0; }
.mf-diaspora-layout .mf-ptg-watch strong,.mf-diaspora-layout .mf-ptg-watch small { white-space:normal; overflow:visible; text-overflow:clip; }
.mf-diaspora-layout .mf-ptg-watch strong { font-family:var(--font-body); font-size:var(--type-body-compact); line-height:1.35; margin-block:var(--space-2); }
.mf-diaspora-layout .mf-ptg-watch .mf-ptg-portrait { width:64px; height:84px; min-height:0; }
.mf-diaspora-layout .mf-ptg-country img { width:20px; height:14px; object-fit:cover; }
.mf-diaspora-layout .mf-ptg-section { padding-block:var(--space-4); background:none; }
.mf-diaspora-layout .mf-ptg-map { margin-top:var(--space-5); border-radius:var(--radius-md); overflow:hidden; }
.mf-diaspora-layout .mf-ptg-map-grid { align-items:start; }
.mf-diaspora-layout .mf-ptg-map-stage { min-height:0; height:auto; }
.mf-diaspora-layout [data-map-svg] { max-height:520px; }
/* Full map: profile details must not stretch the geographic canvas. */
.mf-diaspora-layout .mf-map-hero { padding-block:var(--space-hero); }
.mf-diaspora-layout .mf-map-hero h1 { font-size:var(--type-hero); }
.mf-diaspora-layout .mf-map-workspace { padding-block:var(--space-section); }
.mf-diaspora-layout .mf-map-layout { align-items:start; }
.mf-diaspora-layout .mf-map-canvas { min-height:0; border-radius:var(--radius-md); }
.mf-diaspora-layout .mf-map-canvas svg { display:block; width:100%; height:auto; max-height:560px; }
.mf-diaspora-layout .mf-map-panel { max-height:620px; overflow:auto; overscroll-behavior:contain; border-radius:var(--radius-md); }
.mf-diaspora-layout .mf-map-tools { border-radius:var(--radius-md); }
.mf-diaspora-layout .mf-map-policy { scroll-margin-top:var(--nav-height); }
@media(max-width:1000px) {
 .mf-d2-editorial { grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr); }
 .mf-diaspora-layout .mf-ptg-watch-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mf-diaspora-layout .mf-ptg-feature-grid { grid-template-columns:120px minmax(0,1fr); }
 .mf-diaspora-layout .mf-ptg-timeline { grid-column:1/-1; }
 .mf-d2-media { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .mf-diaspora-layout .mf-d2-shell,.mf-diaspora-layout .mf-ptg { width:calc(100% - 2 * var(--space-4)); }
 .mf-d2-intro,.mf-d2-editorial,.mf-d2-people,.mf-d2-network { grid-template-columns:1fr; gap:var(--space-4); }
 .mf-d2-intro { padding-block:var(--space-section); }
 .mf-d2-nav { gap:var(--space-1); }
 .mf-d2-nav a { font-size:var(--type-meta); padding-inline:var(--space-2); }
 .mf-d2-media { grid-template-columns:1fr; }
 .mf-diaspora-layout .mf-ptg-watch-row { grid-template-columns:1fr; }
 .mf-diaspora-layout .mf-ptg-filterbar { display:flex; flex-wrap:wrap; }
 .mf-diaspora-layout .mf-ptg-search { flex-basis:100%; min-width:0; }
 .mf-diaspora-layout .mf-ptg-extra-filters:not([hidden]) { display:grid; grid-template-columns:1fr; width:100%; }
 .mf-diaspora-layout .mf-ptg-feature-grid { grid-template-columns:88px minmax(0,1fr); }
 .mf-diaspora-layout .mf-ptg-map-grid { display:flex; flex-direction:column; }
 .mf-diaspora-layout .mf-ptg-map-grid>* { width:100%; }
 .mf-diaspora-layout .mf-map-layout { grid-template-columns:1fr; }
 .mf-diaspora-layout .mf-map-panel { max-height:none; overflow:visible; }
 .mf-diaspora-layout .mf-map-hero__grid { grid-template-columns:1fr; }
 .mf-diaspora-layout .mf-map-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mf-diaspora-layout .mf-map-tools__filters { display:grid; grid-template-columns:1fr 1fr; }
}

/* Keep the current-section signal when shared conversion enhancements decorate route links. */
html body.mf-diaspora-layout .mf-d2-nav a:not([aria-current=page]) { background:transparent!important; color:var(--color-text)!important; box-shadow:none!important; border-color:transparent!important; }
html body.mf-diaspora-layout .mf-d2-eyebrow { color:var(--color-accent); font-size:var(--type-overline); line-height:1.5; font-weight:700; }
html body.mf-diaspora-layout .mf-d2-search button { flex:0 0 auto; width:auto; min-width:0; }
html body.mf-diaspora-layout .mf-ptg-map-canvas { min-height:0; }
html body.mf-diaspora-layout .mf-ptg-map-canvas svg { min-height:0; max-height:480px; height:auto; }

html body.mf-diaspora-layout .mf-d2-intro { padding-block:var(--space-5); }
html body.mf-diaspora-layout .mf-d2-intro>p,html body.mf-diaspora-layout .mf-d2-intro>div>p:not(.mf-d2-eyebrow) { font-size:var(--type-body-compact); }
html body.mf-diaspora-layout .mf-d2-nav a[aria-current=page] { background:var(--color-accent-soft)!important; color:var(--color-accent)!important; box-shadow:none!important; }
html body.mf-diaspora-layout .mf-d2-search button { inline-size:auto!important; min-inline-size:44px!important; max-inline-size:100%; flex:0 0 auto; }
html body.mf-diaspora-layout .mf-d2-search input { flex:1 1 0%; min-inline-size:0; }

/* Existing tracker/map aliases follow the shared MoFutbol theme in both modes. */
body.mf-diaspora-layout { --ptg-bg:var(--color-bg); --ptg-panel:var(--color-surface); --ptg-panel-2:var(--color-surface-2); --ptg-line:var(--color-border); --ptg-line-gold:var(--color-border-strong); --ptg-white:var(--color-text); --ptg-muted:var(--color-muted); --te-black:var(--color-bg); --te-panel:var(--color-surface); --te-panel-2:var(--color-surface-2); --te-white:var(--color-text); --te-muted:var(--color-muted); --te-line:var(--color-border); }
html[data-theme=light] body.mf-diaspora-layout .mf-map-hero { background:var(--color-surface); }
html[data-theme=light] body.mf-diaspora-layout .mf-map-hero p,
html[data-theme=light] body.mf-diaspora-layout .mf-people-nav a { color:var(--color-muted); }
html[data-theme=light] body.mf-diaspora-layout .mf-people-nav,
html[data-theme=light] body.mf-diaspora-layout .mf-map-tools__summary,
html[data-theme=light] body.mf-diaspora-layout .mf-map-tools input,
html[data-theme=light] body.mf-diaspora-layout .mf-map-tools select,
html[data-theme=light] body.mf-diaspora-layout .mf-map-panel select { background:var(--color-surface); color:var(--color-text); }

/* Exact existing assets/css/tokens.css light values, scoped to these redesigned routes. */
html[data-theme="light"]:has(body.mf-diaspora-layout) {
  --color-bg: #f8f5ef;
  --color-surface: #ffffff;
  --color-surface-2: #f2ede4;
  --color-surface-3: #e8e0d0;
  --color-text: #0a0c0a;
  --color-muted: #5a6a5a;
  --color-border: rgba(0, 0, 0, 0.1);
  --color-border-strong: rgba(0, 0, 0, 0.18);
  --color-accent: #c8a020;
  --color-accent-hover: #d4ac28;
  --color-accent-dim: #9f7f15;
  --color-accent-soft: rgba(200, 160, 32, 0.08);
  --color-overlay: rgba(248, 245, 239, 0.82);
}

html[data-theme=light] body.mf-diaspora-layout { background:var(--color-bg); color:var(--color-text); }
html[data-theme=light] body.mf-diaspora-layout main,
html[data-theme=light] body.mf-diaspora-layout .mf-ptg,
html[data-theme=light] body.mf-diaspora-layout .mf-ptg-main { background:var(--color-bg)!important; color:var(--color-text); }
html[data-theme=light] body.mf-diaspora-layout .mf-ptg-feature,
html[data-theme=light] body.mf-diaspora-layout .mf-ptg-watch,
html[data-theme=light] body.mf-diaspora-layout .mf-ptg-map,
html[data-theme=light] body.mf-diaspora-layout .mf-ptg-filterbar { background:var(--color-surface)!important; color:var(--color-text); }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 { --ma-text:var(--color-text); --ma-muted:var(--color-muted); background:var(--color-bg)!important; color:var(--color-text); }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content { background:var(--color-bg)!important; color:var(--color-text); }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content :is(h1,h2,h3,h4) { color:var(--color-text)!important; }
html:root[data-theme=light] body.mf-diaspora-layout main#main-content :is(.mf-d2-card,.mf-ptg-feature,.mf-ptg-watch,.mf-ptg-filterbar,.mf-ptg-map) { background:var(--color-surface)!important; color:var(--color-text)!important; }
html:root[data-theme=light] body.mf-diaspora-layout main#main-content :is(.mf-ptg-main,.mf-ptg) { background:var(--color-bg)!important; }
html:root[data-theme=light] body.mf-diaspora-layout :is(.site-header,.mf-score-ribbon,.site-footer) { --color-text:var(--mf-white); --text:var(--mf-white); --color-muted:var(--mf-gray-300); }
html:root[data-theme=light] body.mf-diaspora-layout .mf-d2-search input { background:var(--color-surface)!important; color:var(--color-text)!important; }
html:root[data-theme=light] body.mf-diaspora-layout main#main-content .mf-d2-eyebrow { color:var(--color-text); }
html:root[data-theme=light] body.mf-diaspora-layout .mf-d2-nav a[aria-current=page] { color:var(--color-text)!important; border-bottom:2px solid var(--color-accent); }
html:root[data-theme=light] body.mf-diaspora-layout .mf-d2-section-head>a,
html:root[data-theme=light] body.mf-diaspora-layout .mf-d2-person__links a { color:var(--color-text); text-decoration:underline; }
/* Scoped repairs for legacy dark-only declarations under the existing light theme. */
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content :is(.mf-map-hero,.mf-map-stats,.mf-map-layout,.mf-map-canvas,.mf-map-panel,.mf-map-tools,.mf-map-tools__summary,.mf-map-canada,.mf-map-policy,.mf-map-player,.mf-map-city-list,.mf-map-canada__regions button,.mf-people-nav,.mf-ptg-filter-status,.mf-ptg-segments,.mf-ptg-segments a,.mf-ptg-segments button,.mf-ptg-filter-button,.mf-ptg-map-summary,.mf-ptg-map-results,.mf-ptg-movement,.mf-ptg-drawer,.mf-ptg-drawer-bar,.mf-ptg-profile-panel,.mf-ptg-profile-group) { background:var(--color-surface)!important; color:var(--color-text)!important; }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content :is(input,select) { background:var(--color-surface)!important; color:var(--color-text)!important; }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content :is(.mf-map-hero,.mf-map-panel,.mf-ptg-feature-copy,.mf-ptg-watch,.mf-ptg-profile-panel) p,
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content .mf-ptg-feature-copy>span { color:var(--color-muted)!important; }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content :is(.mf-map-stats strong,.mf-map-kicker,.mf-ptg-country,.mf-ptg-filter-status,.mf-ptg-watch small,.mf-ptg-feature-copy strong,.mf-ptg-timeline strong,.mf-ptg-map-summary strong) { color:var(--color-text)!important; }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content :is(.mf-people-button,.mf-ptg-feature-actions button,.mf-ptg-profile-actions button,.mf-ptg-extra-filters label) { color:var(--color-text)!important; }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 main#main-content :is(.mf-ptg-search,.mf-ptg-filter-button,.mf-ptg-feature-actions button:not(.is-primary),.mf-people-button:not(.mf-people-button--primary)) { background:var(--color-surface)!important; }
html:root[data-theme=light] body.mf-diaspora-layout.mf-brand-v2 .mf-d2-intro>.site-button { color:var(--color-text)!important; }
body.mf-diaspora-layout .mf-ptg-drawer[aria-hidden=true] { visibility:hidden; box-shadow:none!important; }
html:root[data-theme=light] body.mf-diaspora-layout main#main-content input::placeholder { color:var(--color-muted)!important; opacity:1; }
html:root[data-theme=light] body.mf-diaspora-layout main#main-content :is([data-clear-filters],[data-view-all-players]) { color:var(--color-text)!important; }

html body.mf-diaspora-layout .mf-ptg-watch>span>strong,
html body.mf-diaspora-layout .mf-ptg-watch>span>small { display:block; white-space:normal; overflow-wrap:anywhere; max-width:100%; line-height:1.4; }
html body.mf-diaspora-layout .mf-ptg-watch>span>small { font-size:var(--type-meta); }
html body.mf-diaspora-layout .mf-d2-totals dd { font:400 var(--type-stat-number)/1.2 var(--font-heading); color:var(--color-accent); margin-top:var(--space-2); }
html:root[data-theme=light] body.mf-diaspora-layout .mf-d2-totals dd { color:var(--color-text); }

body.mf-diaspora-layout main#main-content :is(button,input,select) { min-block-size:44px; }
html body.mf-diaspora-layout .mf-ptg-drawer.is-open { z-index:1001!important; }
html body.mf-diaspora-layout .mf-ptg-drawer-scrim:not([hidden]) { z-index:1000!important; }
html:root[data-theme=light] body.mf-diaspora-layout main#main-content .mf-ptg-profile-group>div { background:var(--color-surface-2)!important; color:var(--color-text)!important; }

/* Preproduction: preserve intrinsic lead media and the native compact card family. */
html body.mf-diaspora-layout main#main-content [data-d2-lead] .mf-d2-card img {
  width:auto;
  max-width:100%;
  height:auto;
  margin-inline:auto;
}
@layer mfOwnerCompact {
  html:root body.mf-diaspora-layout main#main-content :is(.mf-d2-story-list,.mf-d2-media) h3,
  html:root body.mf-diaspora-layout main#main-content :is(.mf-d2-story-list,.mf-d2-media) h3 * {
    font-family:var(--font-body)!important;
    font-weight:700!important;
  }
}
