/* Farm Story × Avi·Farm — shell immersif, menu regroupé, thèmes dark/light */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;600;800&family=JetBrains+Mono:wght@400;600&display=swap');

/* Dark par défaut (lisible) — évite blanc sur blanc avec farm-game.css */
body.fg-stage.fg-playing{
  --avi-bg:#0b1220;
  --avi-panel:rgba(14,22,34,.94);
  --avi-panel2:rgba(255,248,236,.07);
  --avi-line:rgba(255,236,210,.16);
  --avi-ink:#f4efe6;
  --avi-ink2:#b9a894;
  --avi-accent:#e08a2a;
  --avi-gold:#f6b23c;
  --avi-accent2:#3d9a5c;
  --avi-ok:#3dba6e;
  --avi-warn:#e0a04a;
  --avi-bad:#f07178;
  --avi-chip:rgba(255,236,210,.08);
  --avi-shadow:0 14px 48px rgba(0,0,0,.45);
  --avi-btn-ink:#1c1204;
  --avi-field-bg:rgba(0,0,0,.35);
  --avi-field-ink:#f6f0e6;
  --avi-font:'Bricolage Grotesque',system-ui,sans-serif;
  --avi-mono:'JetBrains Mono',ui-monospace,monospace;
  font-family:var(--avi-font);
  color:var(--avi-ink);
}

/* Option claire (contraste forcé) */
body.fg-stage.fg-playing.fg-theme-light{
  --avi-bg:#1a2433;
  --avi-panel:rgba(255,252,246,.95);
  --avi-panel2:rgba(60,40,20,.07);
  --avi-line:rgba(60,40,20,.18);
  --avi-ink:#1d1710;
  --avi-ink2:#5a4a38;
  --avi-accent:#d9730d;
  --avi-gold:#f6b23c;
  --avi-accent2:#2f7d4a;
  --avi-ok:#1f8a47;
  --avi-warn:#b45309;
  --avi-bad:#c0262d;
  --avi-chip:rgba(60,40,20,.09);
  --avi-shadow:0 14px 48px rgba(20,10,0,.28);
  --avi-btn-ink:#1c1204;
  --avi-field-bg:#fff;
  --avi-field-ink:#1d1710;
}

body.fg-stage.fg-playing #fg-live{
  background:var(--avi-bg)!important;
  border:0!important;border-radius:0!important;
}
/* Titre page masqué en plein écran — actions dans le HUD (pas de bulles flottantes) */
body.fg-stage.fg-playing .fg-game-title{display:none!important}
#fg-avi-menubar{
  display:none;flex-direction:row;flex-wrap:nowrap;gap:4px;align-items:center;
  pointer-events:auto;justify-content:flex-end;flex:0 0 auto;margin-left:auto;
}
body.fg-stage #fg-avi-menubar{display:flex}
/* Hors partie : barre fixe discrète en haut à droite */
body.fg-stage:not(.fg-playing) #fg-avi-menubar{
  position:fixed;z-index:95;top:10px;right:10px;max-width:min(96vw,420px);flex-wrap:wrap;
}
/* En partie : intégrée au HUD, sans ombre ni empilement */
body.fg-stage.fg-playing #fg-avi-menubar{
  position:static;z-index:auto;top:auto;right:auto;max-width:none;
}
#fg-avi-menubar button,
#fg-avi-menubar #fg-avi-theme,
body.fg-stage.fg-playing .fg-game-top-actions button{
  background:var(--avi-chip,rgba(255,236,210,.08))!important;
  color:var(--avi-ink,#f4efe6)!important;
  border:1px solid var(--avi-line,rgba(255,236,210,.16))!important;
  border-radius:8px!important;backdrop-filter:none;
  font:600 11px var(--avi-font,system-ui)!important;padding:5px 8px!important;
  cursor:pointer;pointer-events:auto;box-shadow:none!important;min-height:0;
}
#fg-avi-menubar button:hover,
#fg-avi-menubar #fg-avi-theme:hover{filter:brightness(1.08)}
body.fg-stage:not(.fg-playing) #fg-avi-menubar button,
body.fg-stage:not(.fg-playing) #fg-avi-theme{
  background:rgba(12,24,18,.9)!important;color:#f4efe2!important;
  border:1px solid rgba(217,239,117,.45)!important;
}

/* ── Top HUD : rangée 1 métriques · rangée 2 jauges (dans le même panneau) ── */
body.fg-stage.fg-playing .fg-hud{
  position:absolute;z-index:14;left:10px;right:10px;top:8px;
  display:flex;align-items:center;justify-content:flex-start;gap:6px 10px;flex-wrap:wrap;
  background:var(--avi-panel)!important;backdrop-filter:blur(18px) saturate(1.35);
  border:1px solid var(--avi-line)!important;border-radius:12px!important;
  box-shadow:var(--avi-shadow);padding:8px 10px!important;color:var(--avi-ink);
  min-height:0;max-height:none;overflow:visible;
}
body.fg-stage.fg-playing .fg-hud-brand{min-width:0;flex:0 1 auto;max-width:22vw;order:1}
body.fg-stage.fg-playing .fg-hud-brand span{color:var(--avi-accent)!important;font:800 9px var(--avi-mono);letter-spacing:.1em}
body.fg-stage.fg-playing .fg-hud-brand strong{color:var(--avi-ink)!important;font-weight:800;font-size:.78rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.fg-stage.fg-playing .fg-hud-brand small{display:none!important}
body.fg-stage.fg-playing .fg-hud-metrics{gap:clamp(8px,1.6vw,20px)!important;flex:1 1 auto;min-width:0;flex-wrap:nowrap!important;margin:0!important;order:2}
body.fg-stage.fg-playing .fg-hud-metrics>div{border-left:1px solid var(--avi-line)!important;padding-left:8px!important}
body.fg-stage.fg-playing .fg-hud-metrics span{color:var(--avi-ink2)!important;font:700 8px var(--avi-mono);letter-spacing:.08em}
body.fg-stage.fg-playing .fg-hud-metrics strong{color:var(--avi-ink)!important;font:600 12px var(--avi-mono)}
body.fg-stage.fg-playing .fg-hud-metrics #fg-cash{color:var(--avi-accent)!important;font-weight:800}
body.fg-stage.fg-playing #fg-avi-menubar{order:3;margin-left:auto}
body.fg-stage.fg-playing #fg-avi-link,
body.fg-stage.fg-playing #fg-avi-steps{display:none!important}
body.fg-stage.fg-playing #fg-avi-speeds{margin:0;flex:0 0 auto}
body.fg-stage.fg-playing #fg-avi-speeds button{padding:4px 6px!important;font-size:10px!important}

body.fg-stage.fg-playing .fg-main-grid{
  position:absolute;inset:0;padding:0!important;
  grid-template-columns:minmax(0,1fr)!important;min-height:0!important;
}
body.fg-stage.fg-playing .fg-world-column{background:transparent!important;min-height:0;height:100%}
body.fg-stage.fg-playing .fg-world-top{display:none!important}
body.fg-stage.fg-playing .fg-world{
  position:absolute;inset:0;min-height:0!important;height:100%!important;
  background:radial-gradient(ellipse at 50% 18%,#d8eef8,#b8d4a8 55%,#e8d9a8 100%)!important;
}
body.fg-stage.fg-playing .fg-world canvas{
  height:100%!important;min-height:100%!important;
  /* Légère poussée luminosité / saturation sur le rendu 3D */
  filter:brightness(1.12) saturate(1.18) contrast(1.06);
}
/* Vignette / FX : ne plus assombrir toute la ferme */
#fg-avi-fx-vig{opacity:.18!important;background:radial-gradient(ellipse at center,transparent 62%,rgba(0,0,0,.22) 100%)!important}
#fg-avi-fx-heat{opacity:0!important}
/* Jauges ressources : 2ᵉ rangée DANS le HUD (pas de calque absolu par-dessus) */
body.fg-stage.fg-playing .fg-hud #fg-resources,
body.fg-stage.fg-playing .fg-hud .fg-resource-grid,
body.fg-stage.fg-playing #fg-resources.fg-in-hud{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  position:static!important;inset:auto!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:100%!important;margin:2px 0 0!important;padding:0;
  flex:1 0 100%;order:10;z-index:auto;
  background:transparent;border:0;pointer-events:none;
  transform:none!important;
}
/* Hors HUD : ne jamais laisser un 2ᵉ bandeau flottant */
body.fg-stage.fg-playing #fg-live > #fg-resources,
body.fg-stage.fg-playing #fg-resources.fg-res-band:not(.fg-in-hud){
  display:none!important;
}
body.fg-stage.fg-playing .fg-resource{
  background:rgba(10,16,26,.98)!important;border:1px solid var(--avi-line)!important;
  border-radius:10px!important;padding:5px 8px 6px!important;
  display:grid!important;grid-template-columns:1fr auto;gap:2px 6px;align-items:center;
  color:var(--avi-ink2);font-size:.62rem;backdrop-filter:none;
  isolation:isolate;
}
body.fg-stage.fg-playing .fg-resource span{color:var(--avi-ink2)!important;font:700 8px var(--avi-mono);letter-spacing:.04em}
body.fg-stage.fg-playing .fg-resource strong{color:var(--avi-ink)!important;font:600 11px var(--avi-mono)}
body.fg-stage.fg-playing .fg-resource i{
  display:block!important;grid-column:1/-1;height:5px!important;border-radius:99px;margin-top:1px;
  background:linear-gradient(90deg,var(--bar) var(--fill),rgba(255,255,255,.12) var(--fill))!important;
}
body.fg-stage.fg-playing .fg-resource.fg-rupture{border-color:var(--avi-bad)!important;background:rgba(240,113,120,.14)!important}
body.fg-stage.fg-playing .fg-resource.fg-rupture span,
body.fg-stage.fg-playing .fg-resource.fg-rupture strong{color:#ffd0c4!important}

/* ── Floating side panel ── */
body.fg-stage.fg-playing .fg-sidebar{
  position:absolute!important;z-index:9;top:118px;right:10px;bottom:86px;width:min(352px,94vw);
  background:var(--avi-panel)!important;backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid var(--avi-line)!important;border-radius:18px!important;
  box-shadow:var(--avi-shadow);color:var(--avi-ink)!important;
  transform:translateX(112%);transition:transform .3s cubic-bezier(.2,.8,.2,1);border-left:0!important;
}
body.fg-stage.fg-playing #fg-live.fg-panel-open .fg-sidebar{transform:none}
body.fg-stage.fg-playing .fg-sidebar-header{
  background:transparent!important;border-bottom:1px solid var(--avi-line)!important;padding:14px 16px!important;
}
body.fg-stage.fg-playing .fg-sidebar-header .fg-overline{color:var(--avi-accent)!important;font-family:var(--avi-mono)}
body.fg-stage.fg-playing .fg-sidebar-header button{
  background:linear-gradient(135deg,var(--avi-accent),var(--avi-gold))!important;color:var(--avi-btn-ink)!important;
  border:0!important;border-radius:11px!important;box-shadow:0 6px 18px rgba(246,178,60,.3);font-weight:800!important;
}
body.fg-stage.fg-playing .fg-tabs{
  background:var(--avi-chip);border-radius:12px;margin:0 12px;padding:3px;border:0!important;gap:2px!important;
  display:flex!important;flex-wrap:wrap;overflow:visible!important;
}
body.fg-stage.fg-playing .fg-tabs button{
  border:0!important;border-radius:9px!important;color:var(--avi-ink2)!important;
  border-bottom:0!important;font:600 11.5px var(--avi-font)!important;padding:7px 8px!important;
}
body.fg-stage.fg-playing .fg-tabs button.active{
  background:linear-gradient(135deg,var(--avi-accent),var(--avi-gold))!important;color:var(--avi-btn-ink)!important;
}
/* Contraste menus / formulaires : écrase les #f3efe4 de farm-game.css */
body.fg-stage.fg-playing .fg-sidebar,
body.fg-stage.fg-playing .fg-sidebar-body,
body.fg-stage.fg-playing .fg-sidebar h3,
body.fg-stage.fg-playing .fg-sidebar h4,
body.fg-stage.fg-playing .fg-sidebar p,
body.fg-stage.fg-playing .fg-sidebar small,
body.fg-stage.fg-playing .fg-sidebar strong,
body.fg-stage.fg-playing .fg-sidebar label,
body.fg-stage.fg-playing .fg-sidebar li,
body.fg-stage.fg-playing .fg-sidebar span,
body.fg-stage.fg-playing .fg-sidebar a,
body.fg-stage.fg-playing .fg-tab-heading h3,
body.fg-stage.fg-playing .fg-tab-heading p,
body.fg-stage.fg-playing .fg-filter-note,
body.fg-stage.fg-playing .fg-product,
body.fg-stage.fg-playing .fg-product strong,
body.fg-stage.fg-playing .fg-product small,
body.fg-stage.fg-playing .fg-product p,
body.fg-stage.fg-playing .fg-tech,
body.fg-stage.fg-playing .fg-lot,
body.fg-stage.fg-playing .fg-stock,
body.fg-stage.fg-playing .fg-crew-card,
body.fg-stage.fg-playing .fg-crew-card strong,
body.fg-stage.fg-playing .fg-crew-card small,
body.fg-stage.fg-playing .fg-crew-card header button,
body.fg-stage.fg-playing .fg-sale-run,
body.fg-stage.fg-playing .fg-sale-run strong,
body.fg-stage.fg-playing .fg-sale-run p,
body.fg-stage.fg-playing .fg-rail-invest,
body.fg-stage.fg-playing .fg-rail-invest p,
body.fg-stage.fg-playing .fg-rail-note,
body.fg-stage.fg-playing .fg-rail-cell-data,
body.fg-stage.fg-playing .fg-rail-cell-data span,
body.fg-stage.fg-playing .fg-selected-lot strong,
body.fg-stage.fg-playing .fg-alert,
body.fg-stage.fg-playing .avi-panel,
body.fg-stage.fg-playing .avi-panel .hint,
body.fg-stage.fg-playing .avi-breed,
body.fg-stage.fg-playing .avi-breed small,
body.fg-stage.fg-playing .avi-breed p{
  color:var(--avi-ink)!important;
}
body.fg-stage.fg-playing .fg-sidebar small,
body.fg-stage.fg-playing .fg-product small,
body.fg-stage.fg-playing .fg-crew-card small,
body.fg-stage.fg-playing .fg-filter-note,
body.fg-stage.fg-playing .fg-tab-heading p,
body.fg-stage.fg-playing .avi-panel .hint,
body.fg-stage.fg-playing .avi-breed small,
body.fg-stage.fg-playing .avi-breed p,
body.fg-stage.fg-playing .fg-sale-run p,
body.fg-stage.fg-playing .fg-rail-note{
  color:var(--avi-ink2)!important;
}
body.fg-stage.fg-playing .fg-sidebar-footer{
  background:var(--avi-panel2)!important;border-top:1px solid var(--avi-line)!important;color:var(--avi-ink2)!important;
}
body.fg-stage.fg-playing .fg-alert{
  background:rgba(217,115,13,.14)!important;border:1px solid var(--avi-line)!important;border-radius:12px!important;color:var(--avi-ink)!important;
}
body.fg-stage.fg-playing .fg-task-grid button,
body.fg-stage.fg-playing .fg-product,
body.fg-stage.fg-playing .fg-tech,
body.fg-stage.fg-playing .fg-lot,
body.fg-stage.fg-playing .fg-stock,
body.fg-stage.fg-playing .fg-crew-card,
body.fg-stage.fg-playing .fg-sale-run,
body.fg-stage.fg-playing .fg-rail-invest,
body.fg-stage.fg-playing .fg-rail-metrics div,
body.fg-stage.fg-playing .fg-rail-cell-data,
body.fg-stage.fg-playing .fg-rail-plan button{
  background:var(--avi-panel2)!important;border:1px solid var(--avi-line)!important;border-radius:12px!important;color:var(--avi-ink)!important;
}
body.fg-stage.fg-playing .fg-sale-run.fg-sale-warn{
  background:rgba(224,160,74,.16)!important;border-color:rgba(224,160,74,.45)!important;
}
body.fg-stage.fg-playing .fg-crew-card.selected{
  border-color:var(--avi-accent)!important;box-shadow:0 0 0 3px rgba(246,178,60,.28)!important;
  background:rgba(217,115,13,.12)!important;
}
body.fg-stage.fg-playing .fg-crew-card.selected>header strong{color:var(--avi-ink)!important}
body.fg-stage.fg-playing .fg-crew-card header button{
  background:var(--avi-chip)!important;border:1px solid var(--avi-line)!important;color:var(--avi-ink)!important;
}
body.fg-stage.fg-playing .fg-crew-card header button.on{
  background:var(--avi-accent2)!important;color:#fff!important;border-color:var(--avi-accent2)!important;
}
body.fg-stage.fg-playing .fg-lot button,
body.fg-stage.fg-playing .fg-stock button,
body.fg-stage.fg-playing .fg-product button,
body.fg-stage.fg-playing .fg-tech button,
body.fg-stage.fg-playing .fg-crew-actions button,
body.fg-stage.fg-playing .fg-crew-toolbar button,
body.fg-stage.fg-playing .fg-supply button,
body.fg-stage.fg-playing .fg-alert button{
  background:linear-gradient(135deg,var(--avi-accent),var(--avi-gold))!important;color:var(--avi-btn-ink)!important;border:0!important;border-radius:9px!important;
}
/* Champs formulaires (équipe, rails, avi) */
body.fg-stage.fg-playing .fg-sidebar input,
body.fg-stage.fg-playing .fg-sidebar select,
body.fg-stage.fg-playing .fg-sidebar textarea,
body.fg-stage.fg-playing .fg-crew-add select,
body.fg-stage.fg-playing .fg-rail-control select,
body.fg-stage.fg-playing #fg-farm-name{
  background:var(--avi-field-bg)!important;
  color:var(--avi-field-ink)!important;
  border:1px solid var(--avi-line)!important;
  border-radius:10px!important;
}
body.fg-stage.fg-playing .fg-sidebar input::placeholder,
body.fg-stage.fg-playing .fg-sidebar textarea::placeholder{
  color:var(--avi-ink2)!important;opacity:.85;
}
body.fg-stage.fg-playing .fg-sidebar option{
  background:#142018;color:#f4efe6;
}
body.fg-stage.fg-playing.fg-theme-light .fg-sidebar option{
  background:#fff;color:#1d1710;
}

/* ── Bottom dock compact (une rangée, peu de hauteur) ── */
body.fg-stage.fg-playing .fg-dock{
  left:10px!important;right:10px!important;bottom:8px!important;top:auto!important;
  background:var(--avi-panel)!important;backdrop-filter:blur(16px);
  border:1px solid var(--avi-line)!important;border-radius:14px!important;
  box-shadow:var(--avi-shadow);color:var(--avi-ink)!important;max-width:none!important;
  padding:6px 8px!important;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px;
}
body.fg-stage.fg-playing #fg-instruction{
  margin:0;flex:1 1 100%;font:600 11px var(--avi-font);color:var(--avi-ink2);line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
body.fg-stage.fg-playing .fg-dock-buttons{
  display:flex;flex-wrap:nowrap;gap:6px;align-items:center;flex:1 1 auto;min-width:0;overflow-x:auto;
  scrollbar-width:thin;
}
body.fg-stage.fg-playing .fg-dock-group{
  display:flex;flex-wrap:nowrap;gap:2px;align-items:center;
  padding:2px 4px;background:var(--avi-chip);border-radius:10px;border:1px solid transparent;
  flex:0 0 auto;
}
body.fg-stage.fg-playing .fg-dock-group[data-group="gestes"]{border-color:rgba(217,115,13,.25)}
body.fg-stage.fg-playing .fg-dock-label{
  font:700 8px var(--avi-mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--avi-ink2);padding:0 4px 0 2px;width:auto;flex:0 0 auto;
}
body.fg-stage.fg-playing .fg-dock-buttons button,
body.fg-stage.fg-playing .fg-dock-group button{
  background:transparent!important;border:0!important;border-radius:8px!important;
  color:var(--avi-ink)!important;font:600 11px var(--avi-font)!important;
  padding:5px 8px!important;cursor:pointer;min-height:0;line-height:1.2;
}
body.fg-stage.fg-playing .fg-dock-buttons button:hover,
body.fg-stage.fg-playing .fg-dock-group button:hover{
  background:rgba(217,115,13,.14)!important;
}
body.fg-stage.fg-playing .fg-dock-buttons button.fg-hint,
body.fg-stage.fg-playing .fg-dock-group button.fg-hint{
  background:linear-gradient(135deg,var(--avi-accent),var(--avi-gold))!important;color:var(--avi-btn-ink)!important;
}
body.fg-stage.fg-playing .fg-dock-group button[data-quick="week"]{
  background:linear-gradient(135deg,var(--avi-accent2),#4a9a62)!important;color:#fff!important;font-weight:800!important;
}
body.fg-stage.fg-playing #fg-active-farmer{
  font:600 10px var(--avi-mono);color:var(--avi-accent);padding:0;margin:0;
  flex:0 0 auto;white-space:nowrap;max-width:28vw;overflow:hidden;text-overflow:ellipsis;
}

body.fg-stage.fg-playing .fg-bottom-grid{display:none!important}
body.fg-stage.fg-playing.fg-dossier .fg-bottom-grid{
  display:grid!important;position:absolute;z-index:10;left:12px;right:12px;bottom:118px;
  background:var(--avi-panel);border-radius:16px;border:1px solid var(--avi-line);
  max-height:38vh;overflow:auto;box-shadow:var(--avi-shadow);
}
body.fg-stage.fg-playing.fg-dossier .fg-panel{background:transparent!important;color:var(--avi-ink)}
body.fg-stage.fg-playing .fg-world-overlay span,
body.fg-stage.fg-playing .fg-world-tooltip,
body.fg-stage.fg-playing .fg-mini-map{
  background:rgba(12,16,24,.72)!important;border:1px solid rgba(255,238,210,.22)!important;
  border-radius:10px!important;color:#f6efe3!important;backdrop-filter:blur(8px);
}
body.fg-stage.fg-playing .fg-mini-map{border-color:rgba(246,178,60,.55)!important}
/* Caméra : sous le HUD (métriques + jauges ~100px) */
body.fg-stage.fg-playing .fg-scene-cam-bar{
  position:absolute!important;z-index:8;left:10px;top:118px;
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  max-width:min(520px,58vw);pointer-events:auto;
}
body.fg-stage.fg-playing .fg-scene-cam-bar .fg-scene-reset,
body.fg-stage.fg-playing #fg-scene-reset,
body.fg-stage.fg-playing #fg-scene-aerial,
body.fg-stage.fg-playing #fg-scene-fullscreen{
  position:static!important;left:auto!important;top:auto!important;right:auto!important;
  margin:0!important;flex:0 0 auto;z-index:auto!important;
  background:var(--avi-panel)!important;color:var(--avi-ink)!important;
  border:1px solid var(--avi-line)!important;border-radius:8px!important;
  font:700 11px var(--avi-font)!important;padding:7px 10px!important;
  box-shadow:var(--avi-shadow);white-space:nowrap;
}
/* Statut lots : à droite, ne chevauche pas la barre caméra */
body.fg-stage.fg-playing .fg-scene-status{
  top:118px!important;bottom:auto!important;left:auto!important;right:10px!important;
  width:min(260px,34vw)!important;z-index:7!important;padding:8px 10px!important;
  background:var(--avi-panel)!important;border-color:var(--avi-line)!important;
  border-left:3px solid var(--avi-accent)!important;pointer-events:none;
}
body.fg-stage.fg-playing .fg-scene-status span{color:var(--avi-accent)!important}
body.fg-stage.fg-playing .fg-scene-status strong{color:var(--avi-ink)!important;font-size:.7rem!important}
body.fg-stage.fg-playing .fg-mini-map{
  right:auto!important;left:10px!important;bottom:78px!important;
  width:96px!important;z-index:5!important;
}
body.fg-stage.fg-playing .fg-mini-map canvas{width:88px!important;height:88px!important}
body.fg-stage.fg-playing .fg-world-tooltip{
  left:114px!important;right:auto!important;bottom:78px!important;top:auto!important;
  max-width:min(360px,52vw);z-index:6;padding:6px 10px!important;
  font-size:.7rem!important;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.fg-stage.fg-playing .fg-dock{z-index:12!important}
body.fg-stage.fg-playing .fg-hud{z-index:14!important}
/* Fix Oct 18: menus above 3D, panel content readable/clickable */
body.fg-stage.fg-playing .fg-world{z-index:1!important}
body.fg-stage.fg-playing .fg-world canvas{position:relative;z-index:1}
body.fg-stage.fg-playing .fg-hud{z-index:30!important;pointer-events:auto!important}
body.fg-stage.fg-playing .fg-dock{z-index:28!important;pointer-events:auto!important}
body.fg-stage.fg-playing .fg-sidebar{z-index:26!important;pointer-events:auto!important}
body.fg-stage.fg-playing .fg-scene-cam-bar,
body.fg-stage.fg-playing .fg-scene-reset,
body.fg-stage.fg-playing #fg-cmd,
body.fg-stage.fg-playing #fg-field-journal{z-index:24!important;pointer-events:auto!important}
body.fg-stage.fg-playing .fg-sidebar{
  display:flex!important;flex-direction:column!important;
}
body.fg-stage.fg-playing .fg-tabs{
  flex:0 0 auto!important;max-height:22vh;overflow:auto!important;
}
body.fg-stage.fg-playing .fg-sidebar-body{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;
  display:flex!important;flex-direction:column!important;
}
body.fg-stage.fg-playing #fg-tab-content{
  flex:1 1 auto!important;min-height:140px!important;
  color:var(--avi-ink)!important;visibility:visible!important;opacity:1!important;
}
body.fg-stage.fg-playing #fg-tab-content button{
  color:var(--avi-ink)!important;
}
body.fg-stage.fg-playing .fg-dock-buttons button,
body.fg-stage.fg-playing .fg-dock-group button{
  color:var(--avi-ink)!important;
  font:600 11px var(--avi-font)!important;
  white-space:nowrap;
}
body.fg-stage.fg-playing .fg-dock-buttons button.fg-hint,
body.fg-stage.fg-playing .fg-dock-group button.fg-hint{
  color:var(--avi-btn-ink)!important;
}
body.fg-stage.fg-playing .fg-tabs button{color:var(--avi-ink2)!important}
body.fg-stage.fg-playing .fg-tabs button.active{color:var(--avi-btn-ink)!important}

/* Overlay Avi : chrome Farm Story derrière l’iframe uniquement */
body.fg-avi-immersive .fg-hud,
body.fg-avi-immersive .fg-scene-cam-bar,
body.fg-avi-immersive .fg-scene-reset,
body.fg-avi-immersive .fg-scene-status,
body.fg-avi-immersive .fg-dock,
body.fg-avi-immersive .fg-mini-map,
body.fg-avi-immersive .fg-sidebar,
body.fg-avi-immersive .fg-world-tooltip,
body.fg-avi-immersive .fg-farmer-bubble{
  visibility:hidden!important;pointer-events:none!important;
}
body.fg-stage.fg-playing .fg-farmer-bubble{
  padding:4px 8px 4px 10px!important;gap:6px!important;
  font-size:.65rem;
}
body.fg-stage.fg-playing .fg-farmer-bubble-key{min-width:1.3rem;height:1.3rem;font-size:.7rem}

/* Speeds (dans la barre d’actions) */
#fg-avi-speeds{display:flex;gap:2px;background:var(--avi-chip);border-radius:8px;padding:2px}
#fg-avi-speeds button{
  font:600 10px var(--avi-mono);color:var(--avi-ink);background:transparent;border:0;border-radius:6px;padding:4px 6px;cursor:pointer;
}
#fg-avi-speeds button.on{background:var(--avi-accent);color:var(--avi-btn-ink)}
#fg-avi-link,#fg-avi-steps{display:none!important}

/* Avi cycle panel */
.avi-panel{font-size:12.5px;line-height:1.45;color:var(--avi-ink)}
.avi-panel .hint{color:var(--avi-ink2);font-size:11.5px;margin:6px 0}
.avi-panel .row{display:flex;justify-content:space-between;align-items:center;margin:6px 0}
.avi-panel .row b,.avi-panel h4{font-family:var(--avi-mono,monospace);color:var(--avi-ink)}
.avi-panel .sw{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--avi-ink)}
.avi-panel .btn{
  font:600 12.5px var(--avi-font,inherit);background:var(--avi-chip);
  border:1px solid var(--avi-line);border-radius:11px;padding:9px 12px;cursor:pointer;color:var(--avi-ink);
}
.avi-panel .btn.primary{background:linear-gradient(135deg,var(--avi-accent),var(--avi-gold));color:var(--avi-btn-ink);border:0}
.avi-panel .btn.big{width:100%;padding:13px;margin-top:10px}
.avi-panel .btn.sm{padding:6px 9px;font-size:11.5px}
.avi-panel .btnrow{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.avi-panel .btnrow .btn{flex:1}
.avi-panel input[type=range]{width:100%;accent-color:var(--avi-accent);margin:8px 0}
.avi-steps{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.avi-steps .avi-step{font-size:10.5px;padding:4px 8px;border-radius:999px;background:var(--avi-chip);color:var(--avi-ink2)}
.avi-steps .avi-step.on{background:linear-gradient(135deg,var(--avi-accent),var(--avi-gold));color:var(--avi-btn-ink)}
.avi-steps .avi-step.done{color:var(--avi-ok)}
.avi-steps .avi-step i{font-style:normal;margin-right:4px;font-family:monospace}
.avi-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.avi-head a{color:var(--avi-accent);font-size:11.5px;font-weight:700}
.avi-breeds{display:grid;gap:7px;margin:8px 0}
.avi-breed{text-align:left;border:1.5px solid var(--avi-line);border-radius:14px;padding:10px 12px;background:var(--avi-panel2);cursor:pointer;color:var(--avi-ink)}
.avi-breed.on,.avi-breed:hover{border-color:var(--avi-accent);box-shadow:0 0 0 3px rgba(246,178,60,.2)}
.avi-breed b{display:block;font-size:13.5px;color:var(--avi-ink)}
.avi-breed small{font-family:monospace;color:var(--avi-ink2)}
.avi-breed p{margin:5px 0 0;font-size:11.5px;color:var(--avi-ink2)}
.avi-prog{position:relative;height:10px;border-radius:99px;background:var(--avi-chip);margin:18px 0 22px;overflow:visible}
.avi-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--avi-accent2),var(--avi-accent));border-radius:99px;max-width:100%}
.avi-prog .ev,.avi-prog>span{position:absolute;top:14px;transform:translateX(-50%);font:700 9px var(--avi-mono,monospace);color:var(--avi-ink2);white-space:nowrap}
.avi-prog .ev{color:var(--avi-accent)}
.avi-gauge,.gauge{height:8px;border-radius:99px;background:var(--avi-chip);margin:8px 0 12px;overflow:hidden}
.avi-gauge i,.gauge i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--avi-accent),var(--avi-gold))}
.avi-card{padding:10px 12px;border-radius:12px;background:var(--avi-panel2);border:1px solid var(--avi-line);margin:8px 0;color:var(--avi-ink)}
.avi-card.alert{background:rgba(224,160,74,.14);border-color:rgba(224,160,74,.4)}
.avi-card.crit{background:rgba(240,113,120,.12);border-color:rgba(240,113,120,.35);color:var(--avi-bad)}
.avi-incub-ui h3,.avi-incub-ui h4{margin:10px 0 6px;font-size:13.5px;color:var(--avi-ink)}
.avi-incub-ui .btn:disabled{opacity:.45;cursor:not-allowed}
.avi-vx{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;border-radius:11px;border:1px solid var(--avi-line);margin:6px 0;background:var(--avi-panel2);color:var(--avi-ink)}
.avi-vx small{grid-column:1;color:var(--avi-ink2);font-size:10.5px}
.avi-vx .btn{grid-row:1/3;grid-column:2}
.avi-vx.due{border-color:var(--avi-accent)}
.avi-vx.done{opacity:.55}
.avi-costs{margin-top:12px;padding-top:8px;border-top:1px dashed var(--avi-line);color:var(--avi-ink2)}
.avi-stage{margin:8px 0;font-size:12px;line-height:1.45;color:var(--avi-ink);padding:8px 10px;border-radius:10px;background:var(--avi-chip);border-left:3px solid var(--avi-accent)}
.avi-poster{margin:10px 0;padding:10px 12px;border-radius:12px;background:var(--avi-panel2);border:1px solid var(--avi-line)}
.avi-poster>b{display:block;margin-bottom:8px;font-size:12.5px;color:var(--avi-ink)}
.avi-poster-row{display:flex;gap:10px;align-items:center;padding:5px 0;font-size:11.5px;color:var(--avi-ink2)}
.avi-poster-row em{font-style:normal;font:700 10px var(--avi-mono);min-width:58px;padding:4px 7px;border-radius:7px;background:rgba(217,115,13,.2);color:var(--avi-accent);text-align:center}
.avi-poster-row.on em{background:linear-gradient(135deg,var(--avi-accent),var(--avi-gold));color:var(--avi-btn-ink)}
.avi-poster-row.on span{color:var(--avi-ink);font-weight:700}
.avi-poster>small{display:block;margin-top:8px;font-size:10.5px;color:var(--avi-ink2)}
.avi-panel h4 small{font-weight:600;color:var(--avi-ink2);margin-left:6px}

/* Overlay Avi·Farm 3D immersif (HTML/JS d’origine) */
#fg-avi-overlay{
  position:fixed;inset:0;z-index:200;display:none;flex-direction:column;
  background:#0b1220;
}
#fg-avi-overlay.open{display:flex}
#fg-avi-overlay .fg-avi-overlay-bar{
  flex:0 0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:8px 12px;background:rgba(12,18,28,.96);border-bottom:1px solid rgba(255,236,210,.14);
  color:#f4efe6;font:600 12px var(--avi-font,system-ui);
}
#fg-avi-overlay .fg-avi-overlay-bar strong{color:#f6b23c}
#fg-avi-overlay .fg-avi-overlay-bar span{color:#b9a894;font-size:11px}
#fg-avi-overlay #fg-avi-close{
  background:linear-gradient(135deg,#d9730d,#f6b23c);color:#1c1204;border:0;
  border-radius:10px;padding:8px 12px;font:700 12px var(--avi-font,system-ui);cursor:pointer;
}
#fg-avi-overlay iframe{
  flex:1;width:100%;border:0;background:#0b1220;min-height:0;
}
body.fg-avi-immersive #fg-avi-menubar{display:none!important}

/* Setup formulaire (nouvelle partie) — contraste garanti */
body.fg-stage #fg-setup{
  color:#f4efe6!important;
}
body.fg-stage #fg-setup .fg-choice{
  background:rgba(8,16,14,.82)!important;
  color:#f7f3e8!important;
  border:2px solid rgba(255,255,255,.2)!important;
}
body.fg-stage #fg-setup .fg-choice strong{color:#fff!important}
body.fg-stage #fg-setup .fg-choice small,
body.fg-stage #fg-setup .fg-choice b,
body.fg-stage #fg-setup .fg-choice p,
body.fg-stage #fg-setup .fg-setup-brief,
body.fg-stage #fg-setup label{color:#dce8d8!important}
body.fg-stage #fg-setup .fg-choice:has(input:checked){
  border-color:#d9ef75!important;background:rgba(28,52,40,.92)!important;
}
body.fg-stage #fg-farm-name{
  background:rgba(0,0,0,.55)!important;color:#fff!important;
  border:1px solid rgba(217,239,117,.55)!important;
}

#fg-avi-fx-heat,#fg-avi-fx-vig,#fg-avi-fx-flash{position:absolute;inset:0;pointer-events:none;z-index:2}
#fg-avi-fx-vig{background:radial-gradient(ellipse at center,transparent 68%,rgba(0,0,0,.16) 100%);opacity:.22}
#fg-avi-fx-heat{opacity:0;transition:opacity 2s;background:radial-gradient(ellipse at 50% 0%,rgba(255,170,60,.18),transparent 65%)}
#fg-avi-fx-flash{background:#e3ecff;opacity:0;mix-blend-mode:screen}

#fg-avi-toasts{
  position:absolute;bottom:78px;top:auto;left:50%;transform:translateX(-50%);z-index:12;
  display:flex;flex-direction:column-reverse;gap:4px;pointer-events:none;align-items:center;width:min(70vw,340px);
}
#fg-avi-toasts .avi-toast{
  background:rgba(14,22,28,.72);backdrop-filter:blur(8px);
  border:1px solid rgba(246,239,227,.16);border-left:3px solid var(--avi-accent);
  border-radius:6px;padding:5px 10px;font-size:11px;font-weight:500;box-shadow:none;
  animation:aviToastLife 3.4s ease forwards;color:var(--avi-ink);opacity:0;max-width:100%;
}
#fg-avi-toasts .avi-toast.warn{border-left-color:var(--avi-warn)}
#fg-avi-toasts .avi-toast.good,#fg-avi-toasts .avi-toast.gain{border-left-color:var(--avi-ok)}
#fg-avi-toasts .avi-toast.alert,#fg-avi-toasts .avi-toast.bad{border-left-color:var(--avi-bad)}
@keyframes aviTin{from{opacity:0;transform:translateY(8px)}}
@keyframes aviToastLife{
  0%{opacity:0;transform:translateY(8px)}
  10%{opacity:.9;transform:none}
  70%{opacity:.9}
  100%{opacity:0;transform:translateY(6px)}
}

/* ——— Panneau Commandes (gauche, replié par défaut) ——— */
#fg-cmd{
  display:none;position:fixed;z-index:40;top:72px;left:12px;right:auto;width:min(280px,86vw);
  max-height:calc(100vh - 180px);overflow:auto;border-radius:14px;
  background:var(--avi-panel,#0e1622f0);color:var(--avi-ink,#f4efe6);
  border:1px solid var(--avi-line,rgba(255,236,210,.16));box-shadow:var(--avi-shadow,0 14px 48px rgba(0,0,0,.45));
  font-family:var(--avi-font,'Bricolage Grotesque',system-ui,sans-serif);font-size:13px;
  pointer-events:auto;
}
#fg-cmd.show{display:flex;flex-direction:column}
#fg-cmd.collapsed{
  width:auto;max-height:none;overflow:visible;
}
#fg-cmd.collapsed .fg-cmd-body{display:none}
#fg-cmd.collapsed .fg-cmd-head{border-bottom:0;padding:8px 10px}
#fg-cmd.collapsed .fg-cmd-head strong{font-size:12px}
.fg-cmd-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;border-bottom:1px solid var(--avi-line,rgba(255,236,210,.14));
  position:sticky;top:0;background:inherit;z-index:1;
}
.fg-cmd-head strong{font-size:14px;letter-spacing:.02em}
.fg-cmd-head button{
  border:0;background:var(--avi-chip,rgba(255,236,210,.08));color:inherit;
  width:28px;height:28px;border-radius:8px;cursor:pointer;
}
.fg-cmd-body{padding:8px 10px 14px;display:flex;flex-direction:column;gap:12px}
.fg-cmd-body section h4{
  margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--avi-ink2,#b9a894);font-weight:600;
}
.fg-cmd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fg-cmd-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.fg-cmd-farmers,.fg-cmd-lots{display:flex;flex-direction:column;gap:5px}
#fg-cmd button{
  border:1px solid var(--avi-line,rgba(255,236,210,.18));
  background:var(--avi-chip,rgba(255,236,210,.07));color:var(--avi-ink,#f4efe6);
  border-radius:10px;padding:7px 8px;cursor:pointer;font:inherit;text-align:left;
  transition:background .15s,border-color .15s;
}
#fg-cmd button:hover{background:rgba(224,138,42,.18);border-color:var(--avi-accent,#e08a2a)}
#fg-cmd button.primary{
  background:var(--avi-accent,#e08a2a);color:var(--avi-btn-ink,#1c1204);
  border-color:transparent;font-weight:600;
}
#fg-cmd button.primary:hover{filter:brightness(1.08)}
#fg-cmd button.on{outline:2px solid var(--avi-gold,#f6b23c);outline-offset:1px}
#fg-cmd button.rec{background:#a12a2a;color:#fff;border-color:#c44}
.fg-cmd-farmer,.fg-cmd-lot{display:flex;flex-direction:column;gap:2px}
.fg-cmd-farmer b,.fg-cmd-lot b{font-size:13px}
.fg-cmd-farmer small,.fg-cmd-lot small{opacity:.75;font-size:11px}
.fg-cmd-tip{margin:6px 0 0;font-size:11px;line-height:1.4;color:var(--avi-ink2,#b9a894)}
.fg-cmd-modal{
  position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;
  background:rgba(4,8,14,.72);padding:16px;
}
.fg-cmd-modal[hidden]{display:none!important}
.fg-cmd-dialog{
  width:min(420px,96vw);max-height:90vh;overflow:auto;border-radius:16px;padding:18px;
  background:var(--avi-panel,#121c2a);border:1px solid var(--avi-line,rgba(255,236,210,.2));
  color:var(--avi-ink,#f4efe6);
}
.fg-cmd-dialog h3{margin:0 0 8px;font-size:18px}
.fg-cmd-dialog p{margin:0 0 12px;font-size:13px;color:var(--avi-ink2,#b9a894)}
.fg-cmd-dialog label{display:block;margin:8px 0;font-size:13px}
.fg-cmd-dialog select,.fg-cmd-dialog input[type=number]{
  width:100%;margin-top:4px;padding:8px;border-radius:8px;
  border:1px solid var(--avi-line);background:var(--avi-field-bg,rgba(0,0,0,.35));
  color:var(--avi-field-ink,#f6f0e6);font:inherit;
}
.fg-cmd-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}
.fg-cmd-checks label{display:flex;align-items:center;gap:8px;margin:0}

@media(max-width:1000px){
  body.fg-stage.fg-playing .fg-sidebar{left:8px;right:8px;width:auto;bottom:96px;max-height:52%}
  body.fg-stage.fg-playing .fg-hud #fg-resources,
  body.fg-stage.fg-playing #fg-resources.fg-in-hud{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.fg-stage.fg-playing .fg-dock-label{display:none}
  body.fg-stage.fg-playing #fg-instruction{display:none}
  body.fg-stage.fg-playing #fg-active-farmer{max-width:40vw}
  #fg-cmd{top:auto;bottom:86px;left:8px;right:auto;width:auto;max-height:32vh}
  body.fg-stage.fg-playing .fg-mini-map{transform:none;bottom:78px;left:8px}
  body.fg-stage.fg-playing .fg-scene-cam-bar{top:148px;max-width:calc(100vw - 24px)}
  body.fg-stage.fg-playing .fg-scene-status{
    top:148px;bottom:auto;left:auto!important;right:8px!important;max-width:42vw;width:min(200px,42vw)!important;
  }
  body.fg-stage.fg-playing .fg-sidebar{top:188px}
  body.fg-stage.fg-playing .fg-world-tooltip{bottom:78px;left:114px}
}
@media(max-width:560px){
  body.fg-stage.fg-playing .fg-hud{max-height:none;flex-wrap:wrap;gap:6px}
  body.fg-stage.fg-playing .fg-hud-brand{max-width:100%}
  body.fg-stage.fg-playing #fg-avi-menubar{flex-wrap:wrap;margin-left:0;width:100%;justify-content:flex-start}
  .fg-cmd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fg-stage.fg-playing .fg-mini-map{display:none!important}
  body.fg-stage.fg-playing .fg-world-tooltip{left:10px!important;max-width:calc(100vw - 24px)}
}
