/* ── Bug movie ─────────────────────────────────────────────────────── */
.mv-tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px; margin-bottom:10px;}
.mv-tile{border:1px solid var(--border); border-radius:10px; padding:10px 14px; background:var(--white); display:flex; flex-direction:column; gap:5px; min-width:0;}
.mv-tt{display:flex; align-items:center; gap:8px; font-weight:800; font-size:12.5px; color:var(--navy);}
.mv-sw{display:inline-block; width:10px; height:10px; border-radius:50%; flex:none;}
.mv-big{font:500 24px var(--font-mono); letter-spacing:-.02em; color:var(--navy);}
.mv-big small{font-size:12px; color:var(--muted); margin-left:3px;}
.mv-bar{height:5px; border-radius:3px; background:var(--border); overflow:hidden;}
.mv-bar i{display:block; height:100%; width:0;}
.mv-sub{font:500 11.5px var(--font-mono); color:var(--muted);}
.mv-flow{margin:0 2px 2px;}
.mv-lbl{font:700 10.5px var(--font-mono); letter-spacing:.04em; text-transform:uppercase; color:var(--muted);}
/* calendrier : même échelle que le curseur (8 px = demi-pastille du curseur) */
.mv-track{flex:1 1 220px; min-width:160px; display:flex; flex-direction:column;}
.mv-track input[type=range]{flex:none; width:100%; margin:0;}
.mv-cal{position:relative; height:46px; margin:0 8px; font:600 10.5px var(--font-mono); color:var(--muted); user-select:none;}
.mv-wk{position:absolute; top:0; bottom:0; overflow:hidden; background:color-mix(in srgb,var(--navy) 9%,transparent); border-left:1px solid var(--border);}
.mv-wk.alt{background:color-mix(in srgb,var(--navy) 3%,transparent);}
.mv-wk b{display:block; padding:3px 6px; font-weight:700; color:var(--navy); white-space:nowrap;}
.mv-wk u{text-decoration:none; font-weight:500; color:var(--muted);}
.mv-cd{position:absolute; bottom:2px; height:16px; line-height:16px; text-align:center; font-weight:500; color:var(--navy);}
.mv-ctl{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:10px 0;}
.mv-ctl input[type=range]{accent-color:var(--navy);}
.mv-date{font:600 13px var(--font-mono); min-width:190px;}
.mv-hint{font-size:12px; color:var(--muted);}
.mv-scroll{overflow-x:auto; border:1px solid var(--border); border-radius:10px;}
.mv-scroll canvas{display:block;}
.mv-legend{display:flex; flex-wrap:wrap; gap:6px 16px; font-size:12px; color:var(--muted); margin:8px 2px 10px;}
.mv-legend span{display:inline-flex; align-items:center; gap:6px;}
.mv-tg{display:inline-block; width:10px; height:10px; border-radius:50%; border:1.5px solid var(--critical); flex:none;}
.mv-tg--ok{border-color:var(--green);}
/* plateau : le canevas du tableau, l'eau (WebGL) par-dessus, puis les cibles */
.mv-stack{position:relative; width:max-content;}
.mv-stack canvas{display:block;}
.mv-stack #mvWater,.mv-stack #mvFx{position:absolute; left:0; top:0; pointer-events:none;}
.mv-sw--water{background:radial-gradient(circle at 35% 30%,#e9f6ff 0 18%,#5db3f4 45%,#0f4aa8 100%);}
.mv-tile.is-frozen{opacity:.5;}
.mv-tt small{font-weight:600; color:var(--muted);}
.mv-fr{margin-left:auto; font-size:11px; font-weight:700; color:var(--muted); white-space:nowrap;}
/* Mode sombre : --navy y vaut l'encre claire, les bandes de semaine restent discrètes. */
[data-theme="dark"] .mv-wk{background:color-mix(in srgb,var(--navy) 6%,transparent);}
[data-theme="dark"] .mv-wk.alt{background:color-mix(in srgb,var(--navy) 2%,transparent);}
