.vsg-browser.vsg-overview-mode{display:block;min-width:0;height:auto;min-height:0}
.vsg-detail-mode>.vsg-top{display:none}
.vsg-detail-mode .vcm-top,.vsg-detail-mode .vtw-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vsg-detail-mode .vcm-top .vsb,.vsg-detail-mode .vtw-top .vsb{flex:1;min-width:0}
.vsg-btn[hidden],.vsg-overview[hidden],.vsg-bar[hidden],.vsg-empty[hidden]{display:none!important}
.vsg-browser.vsg-overview-mode .vsg-detail{display:none !important}
.vsg-browser.vsg-detail-mode .vsg-overview{display:none !important}
.vsg-detail[hidden]{display:none !important}
.vsg-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;margin-bottom:12px}
.vsg-title{margin:0;font-size:1rem;color:var(--ink);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vsg-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;font:inherit;cursor:pointer}
.vsg-btn:hover{background:var(--surface)}
.vsg-btn.vsg-primary{background:var(--green);color:#fff;border-color:var(--green)}
.vsg-overview{display:block;min-width:0}
.vsg-coverflow-host{min-width:0}
.vsg-coverflow{--vc-h:clamp(260px,52vh,480px)}
.vsg-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.vsg-counter{min-width:64px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
.vsg-prev,.vsg-next{min-width:44px;padding:8px 12px;font-size:1.1rem;line-height:1}
.vsg-card{display:flex;flex-direction:column;gap:8px;height:100%;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}
.vsg-card-active{padding:12px}
.vsg-thumb{position:relative;aspect-ratio:16/10;background:var(--surface);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vsg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vsg-thumb-empty{color:var(--muted);font-size:.85rem}
.vsg-card-body{min-width:0;display:flex;flex-direction:column;gap:4px;flex:1 1 auto}
.vsg-card-name{margin:0;font-size:1rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vsg-card-summary{margin:0;color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vsg-card-active .vsg-card-name{white-space:normal}
.vsg-card-active .vsg-card-summary{white-space:normal}
.vsg-open{align-self:flex-start;margin-top:auto}
.vsg-card-neighbor .vsg-card-body{display:none}
.vsg-card-neighbor{padding:6px}
.vsg-card-neighbor .vsg-thumb{border-radius:8px}
.vsg-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:var(--muted);text-align:center}
@media(max-width:1000px){ .vsg-coverflow{--vc-h:clamp(220px,44vh,380px)} }
@media(max-width:600px){ .vsg-top{gap:6px} .vsg-btn{} .vsg-card-active{padding:8px} }
@media(max-width:900px){
  .vcm.vsg-detail-mode{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto;min-height:0;padding-bottom:70px}
  .vcm.vsg-detail-mode .vcm-left{max-height:330px}
  .vcm.vsg-detail-mode .vcm-right{height:430px}
  .vcm.vsg-detail-mode .vcm-center{grid-template-columns:minmax(0,1fr);grid-template-areas:'lieu' 'jour' 'amb' 'loc' 'opt';grid-template-rows:330px 240px 200px 200px 200px}
  .vtw.vsg-detail-mode{height:auto;min-height:0;padding-bottom:70px}
  .vtw.vsg-detail-mode .vtw-cols{display:flex;flex-direction:column;min-width:0}
  .vtw.vsg-detail-mode .vtw-col{width:100%;min-width:0}
  .vtw.vsg-detail-mode .vtw-col-left{min-height:400px}
  .vtw.vsg-detail-mode .vtw-col-center{height:60vh;min-height:260px;flex:none}
  .vtw.vsg-detail-mode .vcl-handle{display:none}
  .vcm.vsg-detail-mode .vsb,.vtw.vsg-detail-mode .vsb{max-width:100%;flex-wrap:wrap}
  .vcm.vsg-detail-mode .vsb,.vtw.vsg-detail-mode .vsb{max-height:none;height:auto}
  .vcm.vsg-detail-mode .vsb-root,.vtw.vsg-detail-mode .vsb-root{width:100%;flex:1 1 100%;min-width:0}
  .vcm.vsg-detail-mode .vsb-extra,.vtw.vsg-detail-mode .vsb-extra{flex-wrap:wrap;max-width:100%;flex:1 1 100%}
  .vcm.vsg-detail-mode .vcm-scene-name{max-width:100%}
  .vcm.vsg-detail-mode .vsg-back,.vtw.vsg-detail-mode .vsg-back{flex:1 1 100%;position:relative}
}

/* === Arbre Veillée — modes + tree === */
.vsg-browser .vw-modes{ display:flex; align-items:center; gap:6px; flex-wrap:nowrap; padding:6px 8px; border-bottom:1px solid var(--line); background:var(--surface); font-size:13px; }
.vsg-browser .vw-modes-right{ margin-left:auto; }
.vsg-browser .vw-mode{ height:24px; padding:0 10px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:var(--ink); font-size:13px; line-height:1; cursor:pointer; white-space:nowrap; }
.vsg-browser .vw-mode:hover{ border-color:var(--green); }
.vsg-browser .vw-mode-on{ background:var(--green-soft); border-color:var(--green); color:var(--green); font-weight:600; }
.vsg-browser .vw-sortdir{ min-width:52px; font-variant-numeric:tabular-nums; }
.vsg-browser .vw-addfolder{ font-weight:600; }

.vsg-browser .vsg-tree{
  padding:8px 10px; background:var(--paper);
  border-top:1px solid var(--line); font-size:13px;
}
.vsg-browser .vw-tree-cols{
  column-width:280px; column-gap:12px; column-fill:balance;
}
.vsg-browser .vw-tree-group{ margin:0 0 6px; }
.vsg-browser .vw-node-leaf{ break-inside:avoid; }
.vsg-browser .vw-node-folder{ break-after:avoid; }
.vsg-browser .vw-node{
  display:flex; align-items:center; min-height:24px; line-height:24px;
  border-radius:6px; padding:0 6px; color:var(--ink);
}
.vsg-browser .vw-node:hover{ background:var(--green-soft); }
.vsg-browser .vw-node:focus-visible{ outline:2px solid var(--green); outline-offset:-2px; }
.vsg-browser .vw-node-folder{ font-weight:600; color:var(--ink); }
.vsg-browser .vw-node-folder .vw-node-name{ font-weight:600; }
.vsg-browser .vw-node-leaf{ color:var(--muted); }
.vsg-browser .vw-node-leaf .vw-node-name{ font-weight:400; color:var(--ink); }
.vsg-browser .vw-node-current{ background:var(--green-soft); }
.vsg-browser .vw-node-current .vw-node-name{ color:var(--green); font-weight:600; }
.vsg-browser .vw-node-muted{ color:var(--muted); font-style:italic; font-weight:600; }
.vsg-browser .vw-node-name{
  flex:1; min-width:0; border:0; background:transparent; color:inherit;
  font:inherit; text-align:left; padding:0; cursor:pointer;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.vsg-browser .vw-drop-active{ background:var(--green-soft); box-shadow:inset 0 0 0 1px var(--green); }
.vsg-browser .vw-rename{
  flex:1; min-width:0; height:22px; padding:0 6px; font:inherit;
  border:1px solid var(--green); border-radius:4px; background:var(--surface); color:var(--ink);
}
.vsg-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 6px;min-width:0}
.vsg-toolbar [hidden]{display:none}
.vsg-toolbar .vw-modes{display:flex;gap:4px;width:auto;margin:0;padding:0;border:0;background:none}
.vsg-toolbar .vw-modes-right{margin-left:auto}
.vsg-toolbar .vw-mode{flex:none;height:24px;padding:0 12px}

/* Ordre manuel des scènes : repère de dépôt (traits verts de workspace-kit.css) et scène d'accueil LP épinglée. */
.vsg-browser .vw-node-leaf{ position:relative; }
.vsg-browser .vw-node-leaf.vw-dragging{ opacity:.45; }
.vsg-browser .vw-node-lp{ font-weight:600; cursor:default; }
.vsg-browser .vw-tree-pinned{ border-bottom:1px solid var(--line,rgba(0,0,0,.12)); margin-bottom:6px; padding-bottom:4px; }

/* === Composition et En partie : carrousel grand au centre, tri à droite en même temps, masquable (Benoit, 13/11) === */
.vsg-overview-mode>.vsg-top{display:none}   /* « Nouvelle scène » vit dans le tri : pas de ligne perdue au-dessus du carrousel */
.vsg-overview:has(>.vsg-side){display:grid;grid-template-columns:minmax(0,1fr) clamp(250px,22%,340px);gap:12px;align-items:start}
.vsg-overview.vsg-side-off{grid-template-columns:minmax(0,1fr)}
.vsg-main{position:relative;min-width:0}
.vsg-coverflow{--vc-h:max(420px,calc(100dvh - 46px - var(--pc-dock,0px) - 70px))}
.vsg-side{position:sticky;top:8px;display:flex;flex-direction:column;gap:6px;min-width:0;max-height:calc(100dvh - 46px - var(--pc-dock,0px) - 16px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,14px);padding:8px}
.vsg-side[hidden]{display:none}
.vsg-side-head{display:flex;align-items:center;gap:6px}
.vsg-side-title{flex:1;font-size:14px;color:var(--ink)}
.vsg-side-hide,.vsg-side-reopen{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;font:inherit;cursor:pointer}
.vsg-side-hide{width:28px;height:26px;font-size:16px;line-height:1}
.vsg-side-reopen{position:absolute;top:2px;right:0;z-index:6;height:28px;padding:0 10px;font-size:13px;box-shadow:0 2px 8px #292d2718}
.vsg-side-hide:hover,.vsg-side-reopen:hover{background:var(--green-soft);border-color:var(--green)}
.vsg-side-reopen[hidden]{display:none}
.vsg-browser .vsg-side .vw-modes{flex-wrap:wrap;row-gap:4px;padding:0;border:0;background:none;margin:0}
.vsg-browser .vsg-side .vw-modes-right{margin-left:0}
.vsg-browser .vsg-side .vsg-tree{flex:1;min-height:0;overflow:auto;border-top:1px solid var(--line);padding:6px 2px}
.vsg-browser .vsg-side .vw-tree-cols{columns:1;column-width:auto}
/* Cartes : l'image remplit toute la carte (plus de petite vignette en haut et de vide dessous) */
.vsg-card .vsg-thumb{aspect-ratio:auto;flex:1 1 auto;min-height:0}
.vsg-card-neighbor{padding:4px}
.vsg-card-neighbor .vsg-thumb{height:100%}
.vsg-card-active .vsg-card-body{flex:0 0 auto}
.vsg-card-active{gap:6px;padding:8px}
.vsg-thumb-empty{padding:8px;text-align:center;font-size:.85rem;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:1000px){.vsg-overview:has(>.vsg-side){grid-template-columns:minmax(0,1fr)}.vsg-side{position:static;max-height:none}.vsg-browser .vsg-side .vsg-tree{max-height:420px}.vsg-coverflow{--vc-h:clamp(300px,62vh,640px)}}
