:root{--youm-bg-default:url("assets/youplugs-background.webp");--youm-bg-custom:var(--youm-bg-default)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#eefcff;background:#030914}body{min-height:100vh;overflow-x:hidden}.youm-wallpaper{position:fixed;inset:0;background:radial-gradient(circle at 18% 18%,rgba(0,255,225,.18),transparent 30%),radial-gradient(circle at 82% 20%,rgba(100,55,255,.2),transparent 32%),linear-gradient(145deg,#06192a,#060511 58%,#02050d);z-index:-2}.youm-wallpaper:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent)}.youm-topbar{position:fixed;top:0;left:0;right:0;z-index:9000;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid rgba(0,255,225,.26);background:rgba(1,8,17,.76);backdrop-filter:blur(18px);box-shadow:0 0 24px rgba(0,255,225,.12)}.youm-brand{display:flex;align-items:center;gap:10px}.youm-brand strong{font-size:1.15rem;letter-spacing:.08em}.youm-brand small{opacity:.58}.youm-orb{width:34px;height:34px;display:grid;place-items:center;border:1px solid #00ffe1;border-radius:50%;color:#00ffe1;font-weight:900;box-shadow:0 0 15px rgba(0,255,225,.6),inset 0 0 12px rgba(0,255,225,.18)}.youm-status{display:flex;gap:12px;font-variant-numeric:tabular-nums;color:#bdfcff}.youm-stage{padding:76px 14px 82px;min-height:100vh}.youm-desktop{width:min(1500px,100%)!important;min-height:calc(100vh - 170px);margin:0 auto!important}.youm-taskbar{position:fixed;left:50%;bottom:14px;z-index:9500;transform:translateX(-50%);display:flex;gap:8px;padding:8px 12px;border:1px solid rgba(0,255,225,.32);border-radius:18px;background:rgba(2,12,23,.76);backdrop-filter:blur(20px);box-shadow:0 0 28px rgba(0,255,225,.18)}.youm-taskbar button{width:42px;height:42px;border:1px solid rgba(0,255,225,.28);border-radius:12px;background:rgba(0,255,225,.06);color:#fff;font-size:1.12rem;cursor:pointer;transition:.2s}.youm-taskbar button:hover{transform:translateY(-4px) scale(1.06);background:rgba(0,255,225,.18);box-shadow:0 0 14px rgba(0,255,225,.45)}
@media(max-width:620px){.youm-brand small,.youm-date{display:none}.youm-topbar{height:52px;padding:0 10px}.youm-stage{padding:64px 6px 78px}.youm-taskbar{bottom:8px}.youm-taskbar button{width:38px;height:38px}}
.youplugs-favorites {
  width: min(100%, 1800px);
  margin: 10px auto 18px;
  padding: 10px clamp(8px, 1.5vw, 22px);
  border: 1px solid rgba(0,255,178,.35);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(0,255,178,.10), rgba(0,0,0,.74));
  box-shadow: 0 0 18px rgba(0,255,178,.22), inset 0 0 18px rgba(0,255,178,.08);
}
.favorites-head {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.favorites-title-btn,
.favorite-action-btn {
  border: 1px solid rgba(0,255,178,.72);
  border-radius: 999px;
  padding: 8px 16px;
  color: #fff;
  background: linear-gradient(135deg, rgba(0,255,178,.24), rgba(0,0,0,.86));
  font-weight: 800;
  cursor: pointer;
  text-shadow: 0 0 8px rgba(0,255,178,.9);
  box-shadow: 0 0 14px rgba(0,255,178,.28), inset 0 0 12px rgba(0,255,178,.14);
}
.favorite-action-btn.danger {
  border-color: rgba(255,80,120,.75);
  color: #ffdbe4;
}
.favorites-tools {
  display: none;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.favorites-tools.is-open {
  display: flex;
}
.favorites-list {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 12px 4px 4px;
  scroll-behavior: smooth;
}
.favorite-card {
  flex: 0 0 auto;
  min-width: 120px;
  border: 1px solid rgba(0,255,178,.45);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(0,40,26,.88), rgba(0,0,0,.82));
  box-shadow: 0 0 14px rgba(0,255,178,.24), inset 0 0 12px rgba(0,255,178,.08);
  cursor: grab;
  transition: transform .2s ease, box-shadow .2s ease;
}
.favorite-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 20px rgba(0,255,178,.42), inset 0 0 16px rgba(0,255,178,.12);
}
.favorite-card.dragging { opacity: .55; }
.favorite-link {
  display: grid;
  justify-items: center;
  gap: 5px;
  padding: 10px 12px;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.favorite-icon {
  font-size: 1.5rem;
  filter: drop-shadow(0 0 8px rgba(0,255,178,.85));
}
.favorite-title {
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  text-shadow: 0 0 8px #00ffb2, 0 0 14px rgba(0,255,178,.9);
  outline: none;
}
.favorite-title[contenteditable="true"] {
  border-bottom: 1px dashed rgba(255,255,255,.7);
}
.favorite-edit-actions {
  display: none;
  justify-content: center;
  gap: 5px;
  padding: 0 8px 8px;
}
.favorites-edit-mode .favorite-edit-actions {
  display: flex;
}
.favorite-edit-actions button {
  border: 1px solid rgba(0,255,178,.4);
  border-radius: 10px;
  background: rgba(0,0,0,.6);
  color: #fff;
  cursor: pointer;
  padding: 4px 6px;
}
body.yp-mode-light {
  background: #f6fbff !important;
  color: #0b1720 !important;
}
body.yp-mode-light .api-module,
body.yp-mode-light .user-api-btn,
body.yp-mode-light .api-dock-tab,
body.yp-mode-light .api-search-toggle,
body.yp-mode-light .access-link-button,
body.yp-mode-light .favorite-card {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(230,248,255,.92)) !important;
  color: #07151c !important;
  border-color: rgba(0,120,150,.45) !important;
  text-shadow: none !important;
  box-shadow: 0 8px 24px rgba(0,80,120,.14) !important;
}
body.yp-mode-neon-light {
  background: radial-gradient(circle at top, rgba(0,255,178,.24), transparent 36%), linear-gradient(180deg, #ecfff8, #dffff4 55%, #faffff) !important;
}
body.yp-mode-neon-light .api-module,
body.yp-mode-neon-light .user-api-btn,
body.yp-mode-neon-light .api-dock-tab,
body.yp-mode-neon-light .api-search-toggle,
body.yp-mode-neon-light .favorite-card {
  background: linear-gradient(135deg, rgba(0,255,178,.28), rgba(255,255,255,.9)) !important;
  color: #001810 !important;
  border-color: rgba(0,255,178,.86) !important;
  text-shadow: 0 0 8px rgba(0,255,178,.9) !important;
  box-shadow: 0 0 20px rgba(0,255,178,.42), inset 0 0 18px rgba(0,255,178,.18) !important;
}
body.yp-mode-neon-dark {
  background: radial-gradient(circle at top, rgba(0,255,178,.16), transparent 34%), linear-gradient(180deg, #010905, #000 72%) !important;
}
body.yp-mode-neon-dark .api-module,
body.yp-mode-neon-dark .user-api-btn,
body.yp-mode-neon-dark .api-dock-tab,
body.yp-mode-neon-dark .api-search-toggle,
body.yp-mode-neon-dark .favorite-card {
  background: linear-gradient(135deg, rgba(0,255,178,.22), rgba(0,0,0,.94)) !important;
  color: #ffffff !important;
  border-color: rgba(0,255,178,.9) !important;
  text-shadow: 0 0 7px #00ffb2, 0 0 15px rgba(0,255,178,1) !important;
  box-shadow: 0 0 18px rgba(0,255,178,.55), inset 0 0 18px rgba(0,255,178,.22) !important;
}
body.yp-mode-light .api-bar,
body.yp-mode-light .tabs-container,
body.yp-mode-neon-light .api-bar,
body.yp-mode-neon-light .tabs-container {
  background-image: none !important;
}
.flip-security-overlay {
  position: fixed;
  inset: 0;
  z-index: 50000;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0,0,0,.68);
  backdrop-filter: blur(8px);
}
.flip-security-overlay[hidden] { display: none !important; }
.flip-security-panel {
  width: min(520px, 96vw);
  padding: 18px;
  border: 1px solid rgba(0,255,178,.65);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(0,30,20,.96), rgba(0,0,0,.96));
  color: #fff;
  box-shadow: 0 0 28px rgba(0,255,178,.32), inset 0 0 18px rgba(0,255,178,.10);
}
.security-note {
  margin: 8px 0 12px;
  color: rgba(255,255,255,.78);
  font-size: .88rem;
}
@media (max-width: 600px) {
  .youplugs-favorites { border-radius: 14px; padding: 8px 4px; }
  .favorites-list { gap: 6px; }
  .favorite-card { min-width: 96px; }
}


/* ===== PATCH FAVORIS RESPONSIVE V2 ===== */

.youplugs-favorites {
  width: min(100%, 1600px) !important;
  max-width: calc(100vw - 12px) !important;
  margin: 8px auto 14px !important;
  padding: 8px !important;
  border: 1px solid rgba(0,255,178,.42) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(0,255,178,.08), rgba(0,0,0,.66)) !important;
  box-shadow: 0 0 14px rgba(0,255,178,.20), inset 0 0 14px rgba(0,255,178,.06) !important;
  overflow: hidden !important;
}

.youplugs-favorites.is-collapsed {
  padding-bottom: 8px !important;
}

.favorites-head {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-title-btn,
.favorite-action-btn {
  border: 1px solid rgba(0,255,178,.78) !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0,255,178,.22), rgba(0,0,0,.86)) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-shadow: 0 0 8px rgba(0,255,178,.9) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.24), inset 0 0 12px rgba(0,255,178,.12) !important;
}

.favorite-action-btn.danger {
  border-color: rgba(255,80,120,.75) !important;
}

.favorites-state-indicator {
  opacity: .76;
  font-size: .78em;
  margin-left: 6px;
}

.favorites-tools {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

.favorites-tools[hidden],
.favorite-editor[hidden],
.youplugs-favorites.is-collapsed .favorites-list,
.youplugs-favorites.is-collapsed .favorite-editor {
  display: none !important;
}

.favorite-editor {
  width: min(760px, 100%) !important;
  margin: 10px auto !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  border: 1px solid rgba(0,255,178,.28) !important;
  border-radius: 16px !important;
  background: rgba(0, 12, 8, .72) !important;
}

.favorite-input {
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,255,178,.38) !important;
  background: rgba(0,0,0,.58) !important;
  color: #fff !important;
  outline: none !important;
}

.favorite-editor-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-list {
  width: 100% !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 10px 2px 4px !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
}

.favorites-empty {
  width: 100% !important;
  text-align: center !important;
  padding: 10px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: .9rem !important;
}

.favorite-card {
  flex: 0 0 auto !important;
  width: clamp(92px, 11vw, 150px) !important;
  min-width: 92px !important;
  max-width: 150px !important;
  border: 1px solid rgba(0,255,178,.46) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(0,40,26,.88), rgba(0,0,0,.82)) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.22), inset 0 0 10px rgba(0,255,178,.08) !important;
  cursor: grab !important;
  overflow: hidden !important;
}

.favorite-card.dragging {
  opacity: .55 !important;
}

.favorite-link {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 5px !important;
  padding: 9px 8px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center !important;
}

.favorite-icon {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  filter: drop-shadow(0 0 8px rgba(0,255,178,.8)) !important;
}

.favorite-icon-emoji {
  font-size: 1.55rem !important;
  line-height: 1 !important;
}

.favorite-icon-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.favorite-title {
  width: 100% !important;
  color: #fff !important;
  font-size: clamp(.66rem, 1.8vw, .82rem) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  text-shadow: 0 0 7px #00ffb2, 0 0 12px rgba(0,255,178,.9) !important;
  outline: none !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.favorite-title[contenteditable="true"] {
  border-bottom: 1px dashed rgba(255,255,255,.72) !important;
}

.favorite-edit-actions {
  display: none !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 6px 7px !important;
}

.favorites-edit-mode .favorite-edit-actions {
  display: flex !important;
}

.favorite-edit-actions button {
  border: 1px solid rgba(0,255,178,.4) !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.62) !important;
  color: #fff !important;
  cursor: pointer !important;
  padding: 4px 7px !important;
}

@media (max-width: 600px) {
  .youplugs-favorites {
    max-width: calc(100vw - 8px) !important;
    padding: 6px 4px !important;
    border-radius: 14px !important;
  }

  .favorites-head {
    gap: 6px !important;
  }

  .favorites-title-btn,
  .favorite-action-btn {
    padding: 7px 10px !important;
    font-size: .78rem !important;
  }

  .favorites-tools {
    width: 100% !important;
  }

  .favorite-editor {
    grid-template-columns: 1fr !important;
    padding: 8px !important;
  }

  .favorites-list {
    gap: 6px !important;
    padding-inline: 0 !important;
  }

  .favorite-card {
    width: 92px !important;
    min-width: 92px !important;
  }

  .favorite-icon {
    width: 38px !important;
    height: 38px !important;
  }

  .favorite-title {
    font-size: .68rem !important;
  }
}


/* ===== FIX FAVORIS MENU + RECHERCHE V3 ===== */
.youplugs-favorites {
  width: min(100%, 1600px) !important;
  max-width: calc(100vw - 12px) !important;
  margin: 8px auto 14px !important;
  padding: 8px !important;
  overflow: hidden !important;
}

.favorites-head {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-panel {
  width: 100% !important;
  display: block !important;
  padding-top: 8px !important;
}

.favorites-panel[hidden] {
  display: none !important;
}

.favorites-tools {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin: 0 auto 8px !important;
}

.favorites-tools[hidden] {
  display: none !important;
}

.favorites-search-row {
  width: min(760px, 100%) !important;
  margin: 0 auto 8px !important;
}

.favorite-search-input {
  width: 100% !important;
}

.favorite-editor[hidden] {
  display: none !important;
}

.favorite-editor {
  width: min(760px, 100%) !important;
  margin: 10px auto !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  border: 1px solid rgba(0,255,178,.28) !important;
  border-radius: 16px !important;
  background: rgba(0, 12, 8, .72) !important;
}

.favorite-input {
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,255,178,.38) !important;
  background: rgba(0,0,0,.58) !important;
  color: #fff !important;
  outline: none !important;
}

.favorite-editor-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-list {
  width: 100% !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 10px 2px 4px !important;
}

.youplugs-favorites.is-collapsed .favorites-panel {
  display: none !important;
}

@media (max-width: 600px) {
  .youplugs-favorites {
    max-width: calc(100vw - 8px) !important;
    padding: 6px 4px !important;
  }

  .favorites-tools {
    gap: 5px !important;
  }

  .favorites-title-btn,
  .favorite-action-btn {
    padding: 7px 9px !important;
    font-size: .76rem !important;
  }

  .favorite-editor {
    grid-template-columns: 1fr !important;
    padding: 8px !important;
  }

  .favorites-search-row {
    padding-inline: 2px !important;
  }
}

/* ===== FAVORIS STABLE V4 : MENU TOUJOURS VISIBLE + BARRE OUVRABLE ===== */
.youplugs-favorites {
  width: min(100%, 1600px) !important;
  max-width: calc(100vw - 12px) !important;
  margin: 8px auto 14px !important;
  padding: 8px !important;
  border: 1px solid rgba(0,255,178,.42) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(0,255,178,.08), rgba(0,0,0,.66)) !important;
  box-shadow: 0 0 14px rgba(0,255,178,.20), inset 0 0 14px rgba(0,255,178,.06) !important;
  overflow: hidden !important;
}

.favorites-head {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-title-btn,
.favorite-action-btn {
  border: 1px solid rgba(0,255,178,.78) !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0,255,178,.22), rgba(0,0,0,.86)) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-shadow: 0 0 8px rgba(0,255,178,.9) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.24), inset 0 0 12px rgba(0,255,178,.12) !important;
}

.favorite-action-btn.danger {
  border-color: rgba(255,80,120,.75) !important;
}

.favorites-tools {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-panel {
  width: 100% !important;
  display: block !important;
  padding-top: 8px !important;
}

.favorites-panel[hidden] {
  display: none !important;
}

.favorites-search-row {
  width: min(760px, 100%) !important;
  margin: 0 auto 8px !important;
}

.favorite-search-input {
  width: 100% !important;
}

.favorite-editor[hidden] {
  display: none !important;
}

.favorite-editor {
  width: min(760px, 100%) !important;
  margin: 10px auto !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  border: 1px solid rgba(0,255,178,.28) !important;
  border-radius: 16px !important;
  background: rgba(0, 12, 8, .72) !important;
}

.favorite-input {
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,255,178,.38) !important;
  background: rgba(0,0,0,.58) !important;
  color: #fff !important;
  outline: none !important;
}

.favorite-editor-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-list {
  width: 100% !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 10px 2px 4px !important;
  -webkit-overflow-scrolling: touch !important;
}

.favorites-empty {
  width: 100% !important;
  text-align: center !important;
  padding: 10px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: .9rem !important;
}

.favorite-card {
  flex: 0 0 auto !important;
  width: clamp(92px, 11vw, 150px) !important;
  min-width: 92px !important;
  max-width: 150px !important;
  border: 1px solid rgba(0,255,178,.46) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(0,40,26,.88), rgba(0,0,0,.82)) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.22), inset 0 0 10px rgba(0,255,178,.08) !important;
  cursor: grab !important;
  overflow: hidden !important;
}

.favorite-card.dragging {
  opacity: .55 !important;
}

.favorite-link {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 5px !important;
  padding: 9px 8px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center !important;
}

.favorite-icon {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  filter: drop-shadow(0 0 8px rgba(0,255,178,.8)) !important;
}

.favorite-icon-emoji {
  font-size: 1.55rem !important;
  line-height: 1 !important;
}

.favorite-icon-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.favorite-title {
  width: 100% !important;
  color: #fff !important;
  font-size: clamp(.66rem, 1.8vw, .82rem) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  text-shadow: 0 0 7px #00ffb2, 0 0 12px rgba(0,255,178,.9) !important;
  outline: none !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.favorite-title[contenteditable="true"] {
  border-bottom: 1px dashed rgba(255,255,255,.72) !important;
}

.favorite-edit-actions {
  display: none !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 6px 7px !important;
}

.favorites-edit-mode .favorite-edit-actions {
  display: flex !important;
}

.favorite-edit-actions button {
  border: 1px solid rgba(0,255,178,.4) !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.62) !important;
  color: #fff !important;
  cursor: pointer !important;
  padding: 4px 7px !important;
}

@media (max-width: 600px) {
  .youplugs-favorites {
    max-width: calc(100vw - 8px) !important;
    padding: 6px 4px !important;
  }

  .favorites-head {
    gap: 5px !important;
  }

  .favorites-title-btn,
  .favorite-action-btn {
    padding: 7px 9px !important;
    font-size: .74rem !important;
  }

  .favorite-editor {
    grid-template-columns: 1fr !important;
    padding: 8px !important;
  }

  .favorite-card {
    width: 92px !important;
    min-width: 92px !important;
  }
}

/* ===== FAVORIS V5 : MENUS RETRACTABLES + CENTRAGE ===== */
.youplugs-favorites {
  width: min(100%, 1600px) !important;
  max-width: calc(100vw - 12px) !important;
  margin: 8px auto 14px !important;
  padding: 8px !important;
  border: 1px solid rgba(0,255,178,.42) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(0,255,178,.08), rgba(0,0,0,.66)) !important;
  box-shadow: 0 0 14px rgba(0,255,178,.20), inset 0 0 14px rgba(0,255,178,.06) !important;
  overflow: hidden !important;
}

.favorites-head,
.favorites-tools,
.favorite-editor-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.favorites-tools[hidden],
.favorites-panel[hidden],
.favorites-search-row[hidden],
.favorite-editor[hidden] {
  display: none !important;
}

.favorites-title-btn,
.favorite-action-btn {
  border: 1px solid rgba(0,255,178,.78) !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0,255,178,.22), rgba(0,0,0,.86)) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-shadow: 0 0 8px rgba(0,255,178,.9) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.24), inset 0 0 12px rgba(0,255,178,.12) !important;
}

.favorite-action-btn.danger {
  border-color: rgba(255,80,120,.75) !important;
}

.favorites-panel {
  width: 100% !important;
  padding-top: 8px !important;
}

.favorites-search-row {
  width: min(760px, 100%) !important;
  margin: 0 auto 8px !important;
}

.favorite-input {
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,255,178,.38) !important;
  background: rgba(0,0,0,.58) !important;
  color: #fff !important;
  outline: none !important;
}

.favorite-editor {
  width: min(760px, 100%) !important;
  margin: 10px auto !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  border: 1px solid rgba(0,255,178,.28) !important;
  border-radius: 16px !important;
  background: rgba(0, 12, 8, .72) !important;
}

.favorite-editor-actions {
  grid-column: 1 / -1 !important;
}

.favorites-list {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  padding: 10px 2px 4px !important;
}

.favorites-empty {
  width: 100% !important;
  text-align: center !important;
  padding: 10px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: .9rem !important;
}

.favorite-card {
  flex: 0 0 auto !important;
  width: clamp(92px, 11vw, 150px) !important;
  min-width: 92px !important;
  max-width: 150px !important;
  border: 1px solid rgba(0,255,178,.46) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(0,40,26,.88), rgba(0,0,0,.82)) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.22), inset 0 0 10px rgba(0,255,178,.08) !important;
  cursor: grab !important;
  overflow: hidden !important;
}

.favorite-link {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 5px !important;
  padding: 9px 8px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center !important;
}

.favorite-icon {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  filter: drop-shadow(0 0 8px rgba(0,255,178,.8)) !important;
}

.favorite-icon-emoji {
  font-size: 1.55rem !important;
  line-height: 1 !important;
}

.favorite-icon-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.favorite-title {
  width: 100% !important;
  color: #fff !important;
  font-size: clamp(.66rem, 1.8vw, .82rem) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  text-shadow: 0 0 7px #00ffb2, 0 0 12px rgba(0,255,178,.9) !important;
  outline: none !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.favorite-title[contenteditable="true"] {
  border-bottom: 1px dashed rgba(255,255,255,.72) !important;
}

.favorite-edit-actions {
  display: none !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 6px 7px !important;
}

.favorites-edit-mode .favorite-edit-actions {
  display: flex !important;
}

.favorite-edit-actions button {
  border: 1px solid rgba(0,255,178,.4) !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.62) !important;
  color: #fff !important;
  cursor: pointer !important;
  padding: 4px 7px !important;
}

@media (max-width: 600px) {
  .youplugs-favorites {
    max-width: calc(100vw - 8px) !important;
    padding: 6px 4px !important;
  }

  .favorites-head,
  .favorites-tools {
    gap: 5px !important;
  }

  .favorites-title-btn,
  .favorite-action-btn {
    padding: 7px 9px !important;
    font-size: .74rem !important;
  }

  .favorite-editor {
    grid-template-columns: 1fr !important;
    padding: 8px !important;
  }

  .favorite-card {
    width: 92px !important;
    min-width: 92px !important;
  }

  .favorites-list {
    justify-content: center !important;
  }
}

/* ===== FAVORIS V6 : PLUS COMPACT SUR ORDINATEUR + DRAG VISIBLE ===== */
@media (min-width: 901px) {
  .youplugs-favorites {
    width: min(100%, 1280px) !important;
    max-width: 1280px !important;
    margin: 6px auto 10px !important;
    padding: 5px 8px !important;
    border-radius: 14px !important;
  }

  .favorites-head,
  .favorites-tools {
    gap: 6px !important;
  }

  .favorites-title-btn,
  .favorite-action-btn {
    padding: 6px 11px !important;
    font-size: 0.8rem !important;
    line-height: 1.05 !important;
  }

  .favorites-panel {
    padding-top: 5px !important;
  }

  .favorites-search-row {
    width: min(620px, 100%) !important;
    margin-bottom: 5px !important;
  }

  .favorite-input {
    padding: 7px 10px !important;
    font-size: 0.82rem !important;
    border-radius: 10px !important;
  }

  .favorite-editor {
    width: min(640px, 100%) !important;
    margin: 6px auto !important;
    padding: 7px !important;
    gap: 6px !important;
    border-radius: 12px !important;
  }

  .favorites-list {
    gap: 6px !important;
    padding: 6px 2px 2px !important;
  }

  .favorite-card {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    border-radius: 13px !important;
  }

  .favorite-link {
    gap: 4px !important;
    padding: 7px 6px !important;
  }

  .favorite-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
  }

  .favorite-icon-emoji {
    font-size: 1.25rem !important;
  }

  .favorite-title {
    font-size: 0.66rem !important;
    line-height: 1.05 !important;
  }

  .favorite-edit-actions {
    gap: 4px !important;
    padding: 0 5px 5px !important;
  }

  .favorite-edit-actions button {
    padding: 3px 6px !important;
    border-radius: 8px !important;
    font-size: 0.74rem !important;
  }
}

.favorite-card {
  user-select: none !important;
  touch-action: none !important;
}

.favorite-card[draggable="true"] {
  cursor: grab !important;
}

.favorite-card.dragging {
  opacity: .48 !important;
  transform: scale(.96) !important;
  outline: 1px dashed rgba(0,255,178,.85) !important;
}

/* ===== V7 BASE PATCH: PERSONNALISATION DEPLACEE SOUS BARRES ===== */
.user-tools-underbar,
.plugs-tools-underbar {
  width: min(100%, 1280px);
  margin: 3px auto 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.user-tools-underbar .user-tools-toggle,
.plugs-tools-toggle {
  opacity: 0;
  pointer-events: none;
  border: 1px solid rgba(0,255,178,.68);
  border-radius: 999px;
  padding: 7px 15px;
  color: #fff;
  background: linear-gradient(135deg, rgba(0,255,178,.18), rgba(0,0,0,.86));
  font-weight: 800;
  cursor: pointer;
  text-shadow: 0 0 8px rgba(0,255,178,.9);
  box-shadow: 0 0 14px rgba(0,255,178,.24), inset 0 0 12px rgba(0,255,178,.12);
  transition: opacity .22s ease, transform .22s ease;
}

.api-flip-front:hover .plugs-tools-toggle,
.api-flip-back:hover .user-tools-underbar .user-tools-toggle,
.plugs-tools-toggle:hover,
.user-tools-underbar .user-tools-toggle:hover,
.plugs-tools-toggle:focus,
.user-tools-underbar .user-tools-toggle:focus {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-1px);
}

.plugs-tools-panel,
.user-tools-underbar .user-tools-panel {
  width: min(980px, 100%);
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(0,255,178,.36);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(0,20,14,.88), rgba(0,0,0,.82));
  box-shadow: 0 0 18px rgba(0,255,178,.18), inset 0 0 14px rgba(0,255,178,.08);
}

.plugs-tools-panel[hidden] {
  display: none !important;
}

.plugs-tools-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
  margin-top: 8px;
}

.plugs-tools-row {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 6px;
  border: 1px solid rgba(0,255,178,.18);
  border-radius: 12px;
  background: rgba(0,0,0,.28);
}

.plugs-title-input {
  min-width: 0;
  flex: 1 1 auto;
}

.inline-security-panel {
  width: min(390px, 94vw) !important;
  margin: 8px auto !important;
  padding: 8px 10px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(0,255,178,.52) !important;
  background: linear-gradient(145deg, rgba(0,26,18,.94), rgba(0,0,0,.92)) !important;
}

.inline-security-panel[hidden] {
  display: none !important;
}

.inline-security-actions {
  display: flex;
  justify-content: center;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.user-api-btn.danger,
.favorite-action-btn.danger {
  border-color: rgba(255,0,64,.95) !important;
  background: linear-gradient(135deg, rgba(255,0,64,.44), rgba(80,0,18,.94)) !important;
  box-shadow: 0 0 16px rgba(255,0,64,.58), inset 0 0 12px rgba(255,0,64,.24) !important;
  color: #fff !important;
}

.user-api-connect-row {
  display: flex !important;
  justify-content: center !important;
  margin: 8px auto 4px !important;
}

@media (max-width: 700px) {
  .user-tools-underbar .user-tools-toggle,
  .plugs-tools-toggle {
    opacity: 1;
    pointer-events: auto;
  }
  .plugs-tools-list {
    grid-template-columns: 1fr;
  }
}

/* ===== PATCH SAFE FAVORIS : ajout sans suppression ===== */

.favorites-security-inline {
  width: min(430px, 96vw) !important;
  margin: 8px auto 10px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(0,255,178,.52) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, rgba(0,25,18,.94), rgba(0,0,0,.90)) !important;
  color: #fff !important;
  box-shadow: 0 0 14px rgba(0,255,178,.22), inset 0 0 10px rgba(0,255,178,.10) !important;
}

.favorites-security-inline[hidden] {
  display: none !important;
}

.favorites-security-inline strong {
  display: block !important;
  margin-bottom: 6px !important;
  text-align: center !important;
  font-size: .86rem !important;
  color: #fff !important;
  text-shadow: 0 0 8px rgba(0,255,178,.85) !important;
}

.favorites-lock-check {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 7px 0 !important;
  font-size: .78rem !important;
  color: rgba(255,255,255,.86) !important;
}

.favorites-security-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.favorites-security-actions .favorite-action-btn {
  padding: 6px 10px !important;
  font-size: .74rem !important;
}

.favorite-action-btn.danger,
.favorites-security-actions .danger {
  border-color: rgba(255,0,64,.95) !important;
  background: linear-gradient(135deg, rgba(255,0,64,.46), rgba(80,0,18,.94)) !important;
  color: #fff !important;
  text-shadow: 0 0 8px rgba(255,0,64,.95), 0 0 14px rgba(255,255,255,.45) !important;
  box-shadow: 0 0 16px rgba(255,0,64,.58), inset 0 0 12px rgba(255,0,64,.24) !important;
}

/* Mode slide : garde la barre actuelle, mais draggable */
.favorites-list.favorites-mode-slide {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Mode menu : ligne/menu responsive */
.favorites-list.favorites-mode-menu {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  gap: 7px !important;
}

.favorites-list.favorites-mode-menu .favorite-card {
  width: auto !important;
  min-width: 92px !important;
  max-width: none !important;
}

.favorites-list.favorites-mode-menu .favorite-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  grid-template-columns: none !important;
  gap: 8px !important;
  padding: 7px 12px !important;
}

.favorites-list.favorites-mode-menu .favorite-icon {
  width: 28px !important;
  height: 28px !important;
}

/* Mode bureau : fenêtre avec icônes déplaçables */
.favorites-list.favorites-mode-desktop {
  position: relative !important;
  display: block !important;
  width: min(100%, 980px) !important;
  min-height: 330px !important;
  margin: 8px auto 0 !important;
  overflow: auto !important;
  border: 1px solid rgba(0,255,178,.28) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at top, rgba(0,255,178,.10), transparent 38%),
    linear-gradient(145deg, rgba(0,40,28,.35), rgba(0,0,0,.68)) !important;
  box-shadow: inset 0 0 18px rgba(0,255,178,.08), 0 0 16px rgba(0,255,178,.16) !important;
}

.favorites-list.favorites-mode-desktop .favorite-card {
  position: absolute !important;
  margin: 0 !important;
  touch-action: none !important;
  cursor: grab !important;
}

.favorite-card.dragging {
  opacity: .68 !important;
  z-index: 10 !important;
  outline: 1px dashed rgba(0,255,178,.95) !important;
  transform: scale(.97) !important;
}

@media (max-width: 600px) {
  .favorites-security-inline {
    width: 100% !important;
    padding: 8px !important;
  }

  .favorites-list.favorites-mode-desktop {
    min-height: 260px !important;
  }
}


/* ===== PATCH SURVOL API BAR : flèches + scrollbar + personnaliser ===== */

/* PC/tablette : éléments masqués hors survol de la zone API */
@media (min-width: 769px) {
  .api-bar-shell .api-scroll-btn {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: scale(.86) translateY(2px) !important;
    transition:
      opacity .22s ease,
      transform .22s ease,
      box-shadow .22s ease !important;
  }

  .api-bar-shell:hover .api-scroll-btn,
  .api-scroll-btn:hover,
  .api-scroll-btn:focus-visible,
  #api-dock:hover .api-scroll-btn {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: scale(1) translateY(0) !important;
  }

  /* Scrollbar masquée hors survol */
  #api-bar,
  .api-bar,
  #user-api-bar,
  .user-api-bar {
    scrollbar-width: none !important;
    padding-bottom: 8px !important;
  }

  #api-bar::-webkit-scrollbar,
  .api-bar::-webkit-scrollbar,
  #user-api-bar::-webkit-scrollbar,
  .user-api-bar::-webkit-scrollbar {
    height: 0 !important;
  }

  /* Scrollbar visible au survol de la barre ou du dock API */
  #api-bar:hover,
  .api-bar:hover,
  #user-api-bar:hover,
  .user-api-bar:hover,
  .api-bar-shell:hover #api-bar,
  .api-bar-shell:hover .api-bar,
  .api-bar-shell:hover #user-api-bar,
  .api-bar-shell:hover .user-api-bar,
  #api-dock:hover #api-bar,
  #api-dock:hover .api-bar,
  #api-dock:hover #user-api-bar,
  #api-dock:hover .user-api-bar {
    scrollbar-width: auto !important;
    padding-bottom: 18px !important;
  }

  #api-bar:hover::-webkit-scrollbar,
  .api-bar:hover::-webkit-scrollbar,
  #user-api-bar:hover::-webkit-scrollbar,
  .user-api-bar:hover::-webkit-scrollbar,
  .api-bar-shell:hover #api-bar::-webkit-scrollbar,
  .api-bar-shell:hover .api-bar::-webkit-scrollbar,
  .api-bar-shell:hover #user-api-bar::-webkit-scrollbar,
  .api-bar-shell:hover .user-api-bar::-webkit-scrollbar,
  #api-dock:hover #api-bar::-webkit-scrollbar,
  #api-dock:hover .api-bar::-webkit-scrollbar,
  #api-dock:hover #user-api-bar::-webkit-scrollbar,
  #api-dock:hover .user-api-bar::-webkit-scrollbar {
    height: 16px !important;
  }

  /* Bouton Personnaliser API/Plugs/Flip masqué hors survol */
  .plugs-tools-toggle,
  .user-tools-underbar .user-tools-toggle,
  .plugs-tools-underbar .user-tools-toggle {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-3px) scale(.92) !important;
    transition:
      opacity .22s ease,
      transform .22s ease,
      box-shadow .22s ease !important;
  }

  #api-dock:hover .plugs-tools-toggle,
  #api-dock:hover .user-tools-underbar .user-tools-toggle,
  #api-dock:hover .plugs-tools-underbar .user-tools-toggle,
  .api-flip-front:hover .plugs-tools-toggle,
  .api-flip-back:hover .user-tools-underbar .user-tools-toggle,
  .plugs-tools-toggle:hover,
  .user-tools-underbar .user-tools-toggle:hover,
  .plugs-tools-toggle:focus-visible,
  .user-tools-underbar .user-tools-toggle:focus-visible,
  .plugs-tools-toggle[aria-expanded="true"],
  .user-tools-underbar .user-tools-toggle[aria-expanded="true"] {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }

  /* Si le panneau personnalisation est ouvert, son bouton reste visible */
  .plugs-tools-dock:has(.plugs-tools-panel:not([hidden])) .plugs-tools-toggle,
  .user-tools-underbar:has(.user-tools-panel:not([hidden])) .user-tools-toggle {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }
}

/* Mobile : on garde les contrôles accessibles */
@media (max-width: 768px) {
  .plugs-tools-toggle,
  .user-tools-underbar .user-tools-toggle,
  .plugs-tools-underbar .user-tools-toggle {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}

/* =========================
   Correctifs compatibilité / standards
========================= */
img,
video,
canvas,
svg {
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
[type="button"],
[type="submit"] {
  touch-action: manipulation;
}

.youplugs-noscript {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 2147483647;
  width: 100%;
  padding: 12px 16px;
  background: #111;
  color: #00ffe1;
  text-align: center;
  font-family: Arial, sans-serif;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .access-link-button,
  #api-bar,
  .api-bar {
    background-color: rgba(0, 0, 0, 0.78);
  }
}

/* =========================================================
   FAVORIS V8 — modes bureau / menu / slide + raccourcis
   - bureau : icônes déplaçables
   - menu : liste verticale type menu
   - slide : barre horizontale façon API bar
========================================================= */
.favorite-helper {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(0,255,178,.20) !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.35) !important;
  color: rgba(255,255,255,.78) !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
}

.favorite-source {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,255,178,.26) !important;
  color: rgba(255,255,255,.72) !important;
  background: rgba(0,0,0,.34) !important;
  font-size: .58rem !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

/* Mode menu : le panneau devient un vrai menu déroulant vertical. */
.favorites-list.favorites-mode-menu {
  width: min(420px, 96vw) !important;
  margin: 8px auto 0 !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 6px !important;
  overflow: visible !important;
  border: 1px solid rgba(0,255,178,.38) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(0,24,16,.94), rgba(0,0,0,.88)) !important;
  box-shadow: 0 0 18px rgba(0,255,178,.20), inset 0 0 16px rgba(0,255,178,.08) !important;
}

.favorites-list.favorites-mode-menu .favorite-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  border-radius: 13px !important;
}

.favorites-list.favorites-mode-menu .favorite-link {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
  justify-items: start !important;
  align-items: center !important;
  text-align: left !important;
  gap: 10px !important;
  padding: 8px 10px !important;
}

.favorites-list.favorites-mode-menu .favorite-icon {
  width: 34px !important;
  height: 34px !important;
}

.favorites-list.favorites-mode-menu .favorite-title {
  font-size: .82rem !important;
  line-height: 1.15 !important;
}

/* Mode slide : une barre horizontale scrollable, proche de l'API bar mais version favoris. */
.favorites-list.favorites-mode-slide {
  width: min(1280px, 98vw) !important;
  margin: 8px auto 0 !important;
  padding: 10px 12px 16px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border: 2px solid rgba(0,255,178,.60) !important;
  border-radius: 20px !important;
  background: linear-gradient(90deg, rgba(0,255,178,.10), rgba(0,0,0,.72), rgba(0,255,255,.08)) !important;
  box-shadow: 0 0 18px rgba(0,255,178,.28), inset 0 0 16px rgba(0,255,178,.10) !important;
  scrollbar-width: thin !important;
  scrollbar-color: #00ffb2 rgba(0,0,0,.40) !important;
}

.favorites-list.favorites-mode-slide::-webkit-scrollbar {
  height: 14px !important;
}

.favorites-list.favorites-mode-slide::-webkit-scrollbar-track {
  border-radius: 999px !important;
  background: rgba(0,0,0,.52) !important;
  box-shadow: inset 0 0 10px rgba(0,255,178,.16) !important;
}

.favorites-list.favorites-mode-slide::-webkit-scrollbar-thumb {
  border: 3px solid rgba(0,0,0,.62) !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #00ffb2, #ffffff, #00ffe1) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.8) !important;
}

.favorites-list.favorites-mode-slide .favorite-card {
  flex: 0 0 112px !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

/* Mode bureau : on conserve l'ancien comportement mais sans bloquer le clic sur les liens. */
.favorites-list.favorites-mode-desktop {
  position: relative !important;
  min-height: 260px !important;
  width: 100% !important;
  display: block !important;
  overflow: auto !important;
  padding: 8px !important;
  border: 1px solid rgba(0,255,178,.22) !important;
  border-radius: 18px !important;
  background: radial-gradient(circle at top, rgba(0,255,178,.08), transparent 45%), rgba(0,0,0,.30) !important;
}

.favorites-list.favorites-mode-desktop .favorite-card {
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
}

.favorites-list.favorites-mode-desktop .favorite-link,
.favorites-list.favorites-mode-slide .favorite-link,
.favorites-list.favorites-mode-menu .favorite-link {
  cursor: pointer !important;
}

.favorite-card a,
.favorite-link,
.favorite-title {
  user-select: none !important;
}

@media (max-width: 600px) {
  .favorites-list.favorites-mode-slide {
    width: calc(100vw - 18px) !important;
    padding: 8px 8px 14px !important;
  }

  .favorites-list.favorites-mode-slide .favorite-card {
    flex-basis: 96px !important;
    width: 96px !important;
    min-width: 96px !important;
  }

  .favorites-list.favorites-mode-menu {
    width: calc(100vw - 18px) !important;
  }
}


/* =========================================================
   FAVORIS V9 — correction chargement JS + bureau libre
   - bureau : déplacement libre de chaque icône dans la zone
   - menu : vrai menu vertical
   - slide : barre horizontale façon API bar
========================================================= */
.favorites-list.favorites-mode-desktop {
  position: relative !important;
  display: block !important;
  width: min(100%, 1280px) !important;
  min-height: 420px !important;
  margin: 10px auto 0 !important;
  padding: 8px !important;
  overflow: auto !important;
  border: 1px solid rgba(0,255,178,.35) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at top left, rgba(0,255,178,.12), transparent 38%),
    linear-gradient(145deg, rgba(0,30,22,.60), rgba(0,0,0,.82)) !important;
  box-shadow: inset 0 0 22px rgba(0,255,178,.10), 0 0 18px rgba(0,255,178,.18) !important;
}

.favorites-list.favorites-mode-desktop .favorite-card {
  position: absolute !important;
  width: 108px !important;
  min-width: 108px !important;
  max-width: 108px !important;
  margin: 0 !important;
  cursor: grab !important;
  touch-action: none !important;
}

.favorites-list.favorites-mode-desktop .favorite-card:active {
  cursor: grabbing !important;
}

.favorites-list.favorites-mode-desktop .favorite-link {
  min-height: 92px !important;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
}

.favorites-list.favorites-mode-menu {
  width: min(420px, 96vw) !important;
  margin: 10px auto 0 !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  overflow: visible !important;
  border: 1px solid rgba(0,255,178,.42) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(0,24,16,.96), rgba(0,0,0,.92)) !important;
}

.favorites-list.favorites-mode-menu .favorite-card {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.favorites-list.favorites-mode-menu .favorite-link {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-items: start !important;
  text-align: left !important;
  gap: 10px !important;
  padding: 9px 10px !important;
}

.favorites-list.favorites-mode-slide {
  width: min(1280px, 98vw) !important;
  margin: 10px auto 0 !important;
  padding: 10px 12px 17px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border: 2px solid rgba(0,255,178,.62) !important;
  border-radius: 20px !important;
  background: linear-gradient(90deg, rgba(0,255,178,.11), rgba(0,0,0,.76), rgba(0,255,255,.09)) !important;
  box-shadow: 0 0 18px rgba(0,255,178,.30), inset 0 0 16px rgba(0,255,178,.11) !important;
  scrollbar-width: thin !important;
  scrollbar-color: #00ffb2 rgba(0,0,0,.40) !important;
}

.favorites-list.favorites-mode-slide .favorite-card {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  flex: 0 0 112px !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

.favorites-list.favorites-mode-slide::-webkit-scrollbar {
  height: 14px !important;
}

.favorites-list.favorites-mode-slide::-webkit-scrollbar-thumb {
  border: 3px solid rgba(0,0,0,.62) !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #00ffb2, #ffffff, #00ffe1) !important;
  box-shadow: 0 0 12px rgba(0,255,178,.8) !important;
}

.favorites-list.favorites-mode-slide::-webkit-scrollbar-track {
  border-radius: 999px !important;
  background: rgba(0,0,0,.52) !important;
}

.favorite-card.dragging {
  opacity: .72 !important;
  z-index: 50 !important;
  outline: 1px dashed rgba(0,255,178,.95) !important;
}

.favorite-icon-img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

.favorite-link {
  -webkit-user-drag: none !important;
}

.favorite-card,
.favorite-link,
.favorite-title {
  user-select: none !important;
}

/* =========================================================
   HOTFIX YOUPLUGS - header image + roue crantée + compteur
   Ajout non destructif : ne touche pas à la barre de sections.
========================================================= */

/* L'image aléatoire reste injectée par script.js sur .sheader.
   Ici on ne remplace pas background-image : on force seulement un rendu entier. */
.sheader {
  position: relative !important;
  background-color: rgba(0, 0, 0, 0.82) !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  isolation: isolate;
  border-bottom: 1px solid rgba(0, 255, 255, 0.28);
  box-shadow:
    inset 0 0 38px rgba(0, 255, 255, 0.10),
    0 0 24px rgba(0, 255, 255, 0.12);
}

/* Cadre néon futuriste autour du visuel sans cacher l'image. */
.sheader::before {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 0;
  pointer-events: none;
  border: 2px solid rgba(0, 255, 225, 0.72);
  border-radius: 22px;
  box-shadow:
    0 0 14px rgba(0, 255, 225, 0.72),
    0 0 34px rgba(128, 0, 255, 0.22),
    inset 0 0 22px rgba(0, 255, 225, 0.12);
  transform: perspective(900px) rotateX(0.6deg);
  animation: ypHeaderFramePulse 4.8s ease-in-out infinite;
}

/* Scanlines/pixel léger, transparent : n'offusque pas l'image. */
.sheader::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 0;
  pointer-events: none;
  border-radius: 22px;
  opacity: 0.22;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,0.08) 0,
      rgba(255,255,255,0.08) 1px,
      transparent 1px,
      transparent 5px
    ),
    linear-gradient(115deg, transparent 0%, rgba(0,255,255,0.18) 45%, transparent 70%);
  mix-blend-mode: screen;
  animation: ypHeaderPixelSweep 7s linear infinite;
}

.header-container {
  position: relative !important;
  z-index: 1 !important;
  pointer-events: none;
}

@keyframes ypHeaderFramePulse {
  0%, 100% { filter: brightness(1); transform: perspective(900px) rotateX(0.6deg) scale(1); }
  50% { filter: brightness(1.22); transform: perspective(900px) rotateX(0.6deg) scale(1.012); }
}

@keyframes ypHeaderPixelSweep {
  0% { background-position: 0 0, -220% 0; }
  100% { background-position: 0 18px, 220% 0; }
}

/* Roue crantée thème : toujours visible, indépendante du header et responsive. */
.plugbar-button {
  position: fixed !important;
  top: 58px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 50050 !important;
  width: 46px !important;
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 2px solid rgba(0, 255, 225, 0.78) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.30), transparent 30%),
    linear-gradient(145deg, rgba(0,255,225,0.16), rgba(128,0,255,0.22)),
    rgba(0, 0, 0, 0.78) !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow:
    0 0 14px rgba(0,255,225,0.52),
    0 0 28px rgba(128,0,255,0.25),
    inset 0 0 14px rgba(0,255,225,0.14) !important;
  transform: none !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.plugbar-button:hover,
.plugbar-button:focus-visible {
  transform: scale(1.12) rotate(18deg) !important;
  filter: brightness(1.22) !important;
  outline: none !important;
  box-shadow:
    0 0 20px rgba(0,255,225,0.82),
    0 0 36px rgba(128,0,255,0.38),
    inset 0 0 18px rgba(0,255,225,0.20) !important;
}

/* Le panneau reste au-dessus quand il est ouvert. */
.plugbar-container { z-index: 50040 !important; }
.plugbar { z-index: 50045 !important; }

/* Compteur plugs : masquage scroll robuste, même si une règle inline existe. */
#visits-counter.plugs-counter-hidden,
#visits-counter.plugs-counter.plugs-counter-hidden {
  opacity: 0 !important;
  transform: translateY(-150%) scale(0.82) !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  .sheader {
    min-height: 176px !important;
    background-size: contain !important;
  }

  .sheader::before,
  .sheader::after {
    inset: 9px;
    border-radius: 17px;
  }

  .plugbar-button {
    top: 54px !important;
    left: 10px !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
  }
}

@media (max-width: 420px) {
  .plugbar-button {
    top: 52px !important;
    left: 8px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 19px !important;
  }
}


/* YOUPLUGS_COUNTER_SCROLL_FIX_START
   Correctif ciblé : le compteur plugs disparaît au scroll vers le bas
   et réapparaît quand on remonte ou quand on revient en haut.
   Ne modifie pas la barre de sections, la plugbar, ni le header. */
#visits-counter.plugs-counter,
#visits-counter {
  will-change: transform, opacity;
  transition:
    transform 0.28s ease,
    opacity 0.24s ease,
    filter 0.28s ease,
    box-shadow 0.28s ease !important;
}

#visits-counter.plugs-counter-hidden,
#visits-counter.youplugs-counter-hidden,
#visits-counter.plugs-counter.plugs-counter-hidden,
#visits-counter.plugs-counter.youplugs-counter-hidden {
  opacity: 0 !important;
  transform: translate3d(0, -155%, 0) scale(0.82) !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
/* YOUPLUGS_COUNTER_SCROLL_FIX_END */


/* ===== Youplugs bouton interface auto-hide au scroll ===== */
#edit-bg-button,
.interface-edit-btn {
  transition: opacity .35s ease, transform .35s ease, filter .35s ease;
}

#edit-bg-button.scroll-hidden,
.interface-edit-btn.scroll-hidden {
  opacity:0;
  transform:translateY(-120px) scale(.95);
  pointer-events:none;
}

#edit-bg-button {
  backdrop-filter: blur(14px);
}


/* Ouvrir mon interface : disparition au scroll uniquement */
.access-interface-scroll {
    transition: opacity .35s ease, transform .35s ease, filter .35s ease;
}

.access-interface-scroll.interface-scroll-hidden {
    opacity: 0;
    transform: translateY(-120px);
    filter: blur(3px);
    pointer-events: none;
}

/* =========================================================
   FAVORIS V10 — liens fiables, tri souris/tactile, actions au survol
   Correctif non destructif ajouté en fin de feuille
========================================================= */
#favorites-list {
  touch-action: pan-y;
}

#favorites-list.favorites-mode-slide {
  touch-action: pan-x;
}

.favorite-card {
  position: relative;
  -webkit-user-drag: none;
}

.favorite-card .favorite-link {
  -webkit-user-drag: none;
}

/* Le crayon et la corbeille restent invisibles hors interaction. */
.favorite-card .favorite-edit-actions {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-4px) scale(.92) !important;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
}

.favorite-card:hover .favorite-edit-actions,
.favorite-card:focus-within .favorite-edit-actions,
.favorite-card.favorites-actions-open .favorite-edit-actions {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

/* En mode modification, les actions restent accessibles au clavier/sur mobile. */
.favorites-edit-mode .favorite-card .favorite-edit-actions {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.favorite-card.dragging {
  cursor: grabbing !important;
  z-index: 100 !important;
  opacity: .78 !important;
  filter: brightness(1.12) !important;
}

.favorites-mode-menu .favorite-card,
.favorites-mode-slide .favorite-card {
  touch-action: none !important;
  cursor: grab !important;
}

.favorites-mode-desktop .favorite-card {
  touch-action: none !important;
}

@media (hover: none), (pointer: coarse) {
  .favorite-card .favorite-edit-actions {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .favorites-edit-mode .favorite-card .favorite-edit-actions,
  .favorite-card:focus-within .favorite-edit-actions {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* FAVORIS V11 — déplacement fiable souris/tactile */
.favorite-card,
.favorite-card .favorite-link,
.favorite-card .favorite-icon,
.favorite-card .favorite-icon img {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}
.favorite-card.favorite-ready-drag { cursor: grabbing !important; }
.favorites-list.favorites-mode-desktop { overflow: hidden auto !important; }

/* Favoris V4 — sélecteur de type et champs contextuels */
#favorite-editor #favorite-type-input {
  cursor: pointer;
  color-scheme: dark;
}
#favorite-editor .favorite-input[hidden] {
  display: none !important;
}
.favorite-source {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* =========================================================
   YOUPLUGS FAVORIS V8 — slide mobile, flèches néon, bureau
========================================================= */
.favorites-slide-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
}
.favorites-slide-shell.is-slide-mode {
  grid-template-columns: 54px minmax(0, 1fr) 54px;
}
.favorites-slide-arrow {
  display: none;
  width: 50px;
  height: 64px;
  border: 1px solid rgba(0,255,255,.82);
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.26), transparent 34%),
    linear-gradient(145deg, rgba(0,255,255,.22), rgba(170,0,255,.28)),
    rgba(0,0,0,.78);
  color: #fff;
  font-family: var(--yp-font, Arial, sans-serif);
  font-size: 1.2rem;
  font-weight: 1000;
  cursor: pointer;
  text-shadow: 0 0 7px #00ffff, 0 0 15px #9d00ff, 0 0 24px #ff008c;
  box-shadow: 0 0 14px rgba(0,255,255,.52), 0 0 25px rgba(157,0,255,.35), inset 0 0 18px rgba(255,255,255,.08);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.favorites-slide-arrow:hover,
.favorites-slide-arrow:focus-visible {
  transform: scale(1.08);
  filter: brightness(1.35) saturate(1.3);
  box-shadow: 0 0 20px #00ffff, 0 0 35px #9d00ff, inset 0 0 22px rgba(255,255,255,.16);
  outline: none;
}
.favorites-slide-arrow:active { transform: scale(.94); }

@media (min-width: 769px) {
  .favorites-slide-shell.is-slide-mode .favorites-slide-arrow { display: inline-flex; align-items: center; justify-content: center; }
}

.favorites-list.favorites-mode-slide {
  min-width: 0;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pinch-zoom;
  cursor: grab;
  user-select: none;
  scrollbar-gutter: stable;
}
.favorites-list.favorites-mode-slide.slide-surface-grabbing { cursor: grabbing; scroll-behavior: auto; }
.favorites-list.favorites-mode-slide .favorite-card {
  scroll-snap-align: start;
  touch-action: pan-x;
}
.favorites-list.favorites-mode-slide .favorite-link,
.favorites-list.favorites-mode-slide img {
  -webkit-user-drag: none;
  user-drag: none;
}

@media (max-width: 768px) {
  .favorites-slide-shell,
  .favorites-slide-shell.is-slide-mode { grid-template-columns: minmax(0,1fr); gap: 0; }
  .favorites-slide-arrow { display: none !important; }
  .favorites-list.favorites-mode-slide {
    width: 100%;
    padding: 10px 12px 14px !important;
    gap: 10px !important;
    scroll-padding-inline: 12px;
    scrollbar-width: none;
  }
  .favorites-list.favorites-mode-slide::-webkit-scrollbar { display: none; }
  .favorites-list.favorites-mode-slide .favorite-card {
    flex: 0 0 min(72vw, 190px) !important;
    min-width: min(72vw, 190px) !important;
  }
}

.favorites-context-menu {
  position: fixed;
  z-index: 60000;
  min-width: 210px;
  padding: 8px;
  border: 1px solid rgba(0,255,255,.58);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(3,16,25,.98), rgba(17,0,30,.98));
  box-shadow: 0 0 24px rgba(0,255,255,.35), 0 0 38px rgba(150,0,255,.2), inset 0 0 18px rgba(255,255,255,.05);
  backdrop-filter: blur(14px);
}
.favorites-context-menu[hidden] { display: none !important; }
.favorites-context-menu button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #eaffff;
  font-family: var(--yp-font, Arial, sans-serif);
  text-align: left;
  cursor: pointer;
}
.favorites-context-menu button:hover:not(:disabled),
.favorites-context-menu button:focus-visible:not(:disabled) {
  background: linear-gradient(90deg, rgba(0,255,255,.18), rgba(150,0,255,.16));
  color: #fff;
  box-shadow: inset 0 0 12px rgba(0,255,255,.12);
  outline: none;
}
.favorites-context-menu button:disabled { opacity: .4; cursor: not-allowed; }
.favorites-list.favorites-mode-desktop .favorite-card[data-type="folder"] .favorite-icon { filter: drop-shadow(0 0 8px #ffd54a); }


/* =====================================================
   FAVORIS - correction finale V10
   Flèches latérales uniquement en mode Slide
   ===================================================== */

.favorites-slide-shell.is-slide-mode{
  grid-template-columns:54px minmax(0,1fr) 54px !important;
  align-items:center !important;
}

.favorites-slide-shell.is-slide-mode .favorites-list{
  grid-column:2 !important;
}

.favorites-slide-arrow{
  position:relative !important;
  z-index:5;
  align-items:center;
  justify-content:center;
  color:#00ffff;
  font-size:1.5rem;
  font-weight:900;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.85);
  transition:.25s ease;
}

.favorites-slide-arrow-left{
  grid-column:1 !important;
}

.favorites-slide-arrow-right{
  grid-column:3 !important;
}

.favorites-slide-shell.is-slide-mode:hover .favorites-slide-arrow,
.favorites-slide-shell.is-slide-mode:focus-within .favorites-slide-arrow{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:scale(1);
}

.favorites-slide-arrow:hover{
  filter:brightness(1.5);
  box-shadow:0 0 20px currentColor;
}

@media(max-width:768px){
 .favorites-slide-shell.is-slide-mode{
   display:block !important;
 }
 .favorites-slide-shell.is-slide-mode .favorites-slide-arrow{
   display:none !important;
 }
 .favorites-list.favorites-mode-slide{
   overflow-x:auto !important;
   touch-action:pan-x !important;
   -webkit-overflow-scrolling:touch;
 }
}


/* =========================================================
   YOUPLUGS BUREAU — fichiers virtuels et éditeur local JS
========================================================= */
.desktop-file-name { font-family: Consolas, Monaco, monospace; letter-spacing: .01em; }
.favorite-card:has(.desktop-file-name) .favorite-source { color: #8fffea; }
.desktop-file-modal { position: fixed; inset: 0; z-index: 60000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.82); backdrop-filter: blur(10px); }
.desktop-file-modal[hidden] { display: none !important; }
.desktop-file-dialog { width: min(840px,96vw); max-height: 92vh; overflow: auto; border: 1px solid rgba(0,255,225,.55); border-radius: 18px; background: linear-gradient(145deg,rgba(4,22,30,.98),rgba(3,3,13,.98)); box-shadow: 0 0 32px rgba(0,255,225,.25), inset 0 0 24px rgba(0,255,225,.08); }
.desktop-file-dialog > header,.desktop-file-dialog > footer { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:rgba(0,255,225,.07);border-bottom:1px solid rgba(0,255,225,.18); }
.desktop-file-dialog > footer { justify-content:center;flex-wrap:wrap;border-top:1px solid rgba(0,255,225,.18);border-bottom:0; }
.desktop-file-dialog > header button { width:34px;height:34px;border:1px solid #ff6481;border-radius:50%;background:#19040a;color:#ff8ca0;cursor:pointer; }
.desktop-file-fields { display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;padding:14px; }
.desktop-file-content { grid-column:1/-1;min-height:300px;font-family:Consolas,Monaco,monospace;resize:vertical; }
.desktop-file-viewer-dialog { width:min(1100px,98vw); }
.desktop-file-editor { display:block;width:calc(100% - 28px);min-height:55vh;margin:14px;padding:16px;border:1px solid rgba(0,255,225,.32);border-radius:12px;background:#061016;color:#eaffff;font:14px/1.55 Consolas,Monaco,monospace;resize:vertical;outline:none;tab-size:2; }
.desktop-file-preview { display:block;width:calc(100% - 28px);min-height:360px;margin:14px;border:1px solid rgba(0,255,225,.32);border-radius:12px;background:#fff; }
.desktop-file-preview[hidden] { display:none!important; }
.favorites-context-menu { max-height:min(80vh,620px);overflow-y:auto; }
@media(max-width:680px){.desktop-file-fields{grid-template-columns:1fr}.desktop-file-content{min-height:240px}.desktop-file-editor{min-height:48vh}.desktop-file-dialog>footer .favorite-action-btn{flex:1 1 45%}}

/* YOUM OS V2 — sélection, dossiers et éditeur */
.desktop-breadcrumb{display:flex;align-items:center;gap:7px;min-height:42px;margin:8px 0;padding:7px 10px;border:1px solid rgba(0,255,255,.28);border-radius:12px;background:rgba(0,0,0,.5);overflow-x:auto;white-space:nowrap}.desktop-breadcrumb button{border:1px solid rgba(0,255,255,.3);border-radius:9px;padding:6px 9px;background:rgba(0,255,255,.08);color:#dfffff;cursor:pointer}.desktop-breadcrumb button:hover{background:rgba(0,255,255,.2);box-shadow:0 0 12px rgba(0,255,255,.35)}
.favorite-card.is-selected{outline:2px solid #00ffe1!important;outline-offset:3px;background:rgba(0,255,225,.18)!important;box-shadow:0 0 20px rgba(0,255,225,.72),inset 0 0 18px rgba(0,255,225,.16)!important}.favorite-card:focus-visible{outline:2px solid #fff;outline-offset:3px}.desktop-selection-box{position:fixed;z-index:99998;border:1px solid #00ffe1;background:rgba(0,255,225,.14);box-shadow:0 0 12px rgba(0,255,225,.35);pointer-events:none}.desktop-file-editor[data-language]{tab-size:2;font-family:Consolas,Monaco,"Courier New",monospace;line-height:1.55}.desktop-file-editor.language-html,.desktop-file-editor.language-css,.desktop-file-editor.language-js,.desktop-file-editor.language-php,.desktop-file-editor.language-json{background:#071018;color:#dff}.desktop-file-preview{min-height:56vh;width:100%;border:1px solid rgba(0,255,255,.25);background:#111}.favorites-context-menu button[disabled]{opacity:.35;pointer-events:none}

/* Youm V3 — dépôt dans dossiers et panneau système */
.favorite-card.folder-drop-target,
.favorite-card:has(.favorite-icon-emoji:first-child) {
  transition: transform .16s ease, box-shadow .16s ease;
}
.favorite-card.folder-drop-target {
  transform: scale(1.08) !important;
  box-shadow: 0 0 0 3px #00ffb2, 0 0 28px rgba(0,255,178,.8) !important;
}
.youm-system-panel {
  position: fixed;
  inset: 7vh 5vw auto;
  z-index: 50000;
  max-height: 86vh;
  overflow: auto;
  border: 1px solid rgba(0,255,255,.6);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(3,14,25,.98), rgba(7,2,20,.98));
  box-shadow: 0 0 40px rgba(0,255,255,.3), inset 0 0 30px rgba(0,255,255,.08);
  color: #eef;
}
.youm-system-panel[hidden]{display:none!important}
.youm-system-panel>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:rgba(0,8,15,.96);border-bottom:1px solid rgba(0,255,255,.28)}
.youm-system-panel>header button{width:36px;height:36px;border:1px solid #ff6688;border-radius:50%;background:#12030a;color:#ff6688;font-size:1.2rem;cursor:pointer}
.youm-system-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;padding:16px}
.youm-system-grid section{padding:14px;border:1px solid rgba(0,255,255,.2);border-radius:16px;background:rgba(0,0,0,.34)}
.youm-system-grid h3{margin:0 0 12px;color:#00ffe1}
.youm-system-grid p{margin:8px 0;color:rgba(255,255,255,.84)}
.youm-system-grid .favorite-action-btn{width:100%;margin:5px 0}
.youm-storage-meter{height:16px;overflow:hidden;border:1px solid rgba(0,255,255,.45);border-radius:999px;background:#02070b;box-shadow:inset 0 0 9px rgba(0,255,255,.18)}
.youm-storage-meter span{display:block;width:0;height:100%;background:linear-gradient(90deg,#00ffe1,#8a2bff,#ff4d88);box-shadow:0 0 12px #00ffe1;transition:width .35s ease}
@media(max-width:700px){.youm-system-panel{inset:3vh 2vw auto}.youm-system-grid{grid-template-columns:1fr;padding:10px}}


/* =========================================================
   YOUM V4 — thèmes, polices, fenêtres, propriétés et VR
========================================================= */
:root{--youm-accent:#00ffe1;--youm-font:Arial,sans-serif;--youm-bg-custom:none}
body{font-family:var(--youm-font)!important}
body button,body input,body select,body textarea{font-family:var(--youm-font)!important}
body.youm-theme-light{color:#102033;background:#eaf2f8}
body.youm-theme-light .youm-wallpaper{background:linear-gradient(rgba(244,249,255,.80),rgba(229,240,250,.84)),var(--youm-bg-custom),radial-gradient(circle at 20% 10%,#fff,#cfe7f5 55%,#a8c8dc)}
body.youm-theme-light .youm-topbar,body.youm-theme-light .youm-taskbar,body.youm-theme-light .favorites-panel,body.youm-theme-light .youm-system-panel,body.youm-theme-light .desktop-file-dialog{background:rgba(245,250,255,.94);color:#102033;border-color:color-mix(in srgb,var(--youm-accent) 55%,#789)}
body.youm-theme-light .favorite-item-title,body.youm-theme-light .desktop-file-item-title{color:#102033;text-shadow:none}
body.youm-theme-dark .youm-wallpaper{background:linear-gradient(rgba(1,7,15,.56),rgba(2,5,12,.72)),var(--youm-bg-custom),radial-gradient(circle at 25% 15%,#0e2941,#02070d 62%,#000)}
body.youm-theme-custom .youm-wallpaper{background:linear-gradient(rgba(0,0,0,.20),rgba(0,0,0,.42)),var(--youm-bg-custom),radial-gradient(circle at center,#123,#000);background-size:cover;background-position:center}
.favorite-action-btn,.favorites-title-btn,.youm-topbar,.youm-taskbar,.desktop-file-dialog,.youm-system-panel{border-color:color-mix(in srgb,var(--youm-accent) 55%,transparent)!important}
.favorite-action-btn:hover,.favorites-title-btn:hover{box-shadow:0 0 18px color-mix(in srgb,var(--youm-accent) 60%,transparent)!important}
.youm-control-stack,.youm-control-label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.youm-control-label{margin:10px 0}.youm-control-label input[type=color]{width:52px;height:34px;border:0;background:transparent}.youm-custom-fonts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.youm-custom-fonts button{padding:5px 8px;border:1px solid var(--youm-accent);border-radius:8px;background:rgba(0,0,0,.25);color:inherit;cursor:pointer}
.desktop-file-viewer-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(980px,92vw);height:min(720px,84vh);min-width:360px;min-height:260px;resize:both;overflow:hidden;display:flex;flex-direction:column}
.desktop-file-viewer-dialog.youm-window-free{transform:none}.desktop-file-viewer-dialog.youm-maximized{left:1vw!important;top:1vh!important;width:98vw!important;height:98vh!important;transform:none!important;resize:none}.youm-window-titlebar{cursor:move;user-select:none}.youm-window-actions{display:flex;gap:5px}.youm-window-actions button{min-width:32px}.desktop-file-preview,.desktop-file-editor{flex:1;min-height:0}
.youm-properties-dialog{width:min(620px,92vw)}.youm-properties-content{padding:16px;display:grid;gap:8px}.youm-property-row{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:8px;border-bottom:1px solid rgba(128,200,220,.18)}.youm-property-row strong{color:var(--youm-accent)}.youm-property-path{word-break:break-all;font-family:Consolas,monospace}
body.youm-vr-fallback .youm-topbar,body.youm-vr-fallback .youm-taskbar{display:none}body.youm-vr-fallback .youm-stage{perspective:1200px}body.youm-vr-fallback #desktop-file-viewer:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#000;padding:12px}body.youm-vr-fallback #desktop-file-viewer:not([hidden])::after{content:"VR stéréoscopique";position:fixed;top:8px;left:50%;transform:translateX(-50%);z-index:99999;color:#fff;background:#000a;padding:5px 10px;border-radius:8px}
@media(max-width:700px){.youm-property-row{grid-template-columns:1fr}.desktop-file-viewer-dialog{min-width:280px;width:96vw}}

/* =========================================================
   YOUM V5 — visionneuse native et import glisser-déposer
========================================================= */
.desktop-file-media{
  flex:1;
  min-height:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
  padding:14px;
  background:rgba(0,0,0,.72);
}
.desktop-file-media[hidden]{display:none!important}
.youm-viewer-image{
  display:block;
  max-width:100%;
  max-height:68vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 0 24px rgba(0,255,225,.22);
}
.youm-viewer-video,.youm-viewer-pdf{
  width:100%;
  height:68vh;
  max-height:100%;
  border:0;
  background:#000;
}
.youm-viewer-audio{width:min(720px,92%)}
.youm-file-drop-active{
  outline:3px dashed var(--youm-accent,#00ffe1)!important;
  outline-offset:-8px;
  background-color:rgba(0,255,225,.12)!important;
  box-shadow:inset 0 0 50px rgba(0,255,225,.22)!important;
}
.youm-file-drop-active::after{
  content:"Dépose les fichiers ici pour les importer";
  position:fixed;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  z-index:999999;
  padding:18px 26px;
  border:2px solid var(--youm-accent,#00ffe1);
  border-radius:18px;
  background:rgba(0,8,14,.94);
  color:#fff;
  font-weight:900;
  text-align:center;
  pointer-events:none;
  box-shadow:0 0 30px rgba(0,255,225,.55);
}
body.youm-main-fullscreen .youm-stage{min-height:calc(100vh - 52px)}

/* =========================================================
   YOUM — MENU CYBERPUNK CONSERVÉ DE LA V6
   Le reste de l'interface utilise le design V5.
========================================================= */
.favorites-head{
  width:min(1180px,96%);
  margin:8px auto 14px;
  padding:7px 10px;
  border:1px solid rgba(0,234,255,.25);
  border-radius:14px;
  background:linear-gradient(90deg,rgba(0,12,26,.82),rgba(6,3,22,.72),rgba(22,2,36,.78));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 0 24px rgba(0,234,255,.10),inset 0 0 18px rgba(154,50,255,.06);
}
.favorites-title-btn,.favorite-action-btn{
  border:1px solid rgba(0,234,255,.38)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,rgba(0,234,255,.09),rgba(10,3,28,.50))!important;
  color:#dffcff!important;
  box-shadow:inset 0 0 12px rgba(0,234,255,.06),0 0 8px rgba(0,0,0,.24)!important;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.favorites-title-btn:hover,.favorite-action-btn:hover{
  border-color:#00eaff!important;
  color:#fff!important;
  background:linear-gradient(145deg,rgba(0,234,255,.22),rgba(154,50,255,.17))!important;
  box-shadow:0 0 16px rgba(0,234,255,.42),0 0 26px rgba(154,50,255,.18),inset 0 0 15px rgba(0,234,255,.12)!important;
  transform:translateY(-1px);
}
.favorite-action-btn.danger{border-color:rgba(255,52,132,.45)!important;color:#ff8fbd!important}
.favorites-tools,.favorites-security-inline,.favorite-editor,.favorites-search-row{
  border:1px solid rgba(0,234,255,.28)!important;
  background:rgba(1,7,18,.94)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 0 24px rgba(0,234,255,.12),inset 0 0 20px rgba(154,50,255,.06)!important;
}
.favorites-context-menu{
  border:1px solid rgba(0,234,255,.52)!important;
  border-radius:12px!important;
  background:linear-gradient(160deg,rgba(0,10,23,.98),rgba(13,2,29,.98))!important;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  box-shadow:0 0 28px rgba(0,234,255,.26),0 0 45px rgba(154,50,255,.14),inset 0 0 20px rgba(0,234,255,.06)!important;
}
.favorites-context-menu button{
  border-bottom:1px solid rgba(0,234,255,.10)!important;
  color:#eaffff!important;
}
.favorites-context-menu button:hover{
  background:linear-gradient(90deg,rgba(0,234,255,.20),rgba(154,50,255,.15))!important;
  color:#fff!important;
}
@media(max-width:760px){
  .favorites-head{width:100%;border-radius:11px}
}

/* YOUPLUGS FINAL BRANDING */
.youm-wallpaper{background-image:linear-gradient(rgba(1,7,15,.22),rgba(2,5,12,.42)),var(--youm-bg-custom)!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
body.youm-theme-dark .youm-wallpaper{background-image:linear-gradient(rgba(1,7,15,.22),rgba(2,5,12,.42)),var(--youm-bg-custom)!important;background-size:cover!important;background-position:center!important}
body.youm-theme-light .youm-wallpaper{background-image:linear-gradient(rgba(244,249,255,.72),rgba(229,240,250,.78)),var(--youm-bg-custom)!important;background-size:cover!important;background-position:center!important}
.youm-orb{font-size:.72rem;letter-spacing:-.04em}
.youplugs-copyright{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);padding:4px 10px;border:1px solid rgba(0,255,225,.28);border-radius:999px;background:rgba(1,8,17,.72);color:rgba(238,252,255,.82);font-size:.66rem;white-space:nowrap;text-shadow:0 0 7px rgba(0,255,225,.55);backdrop-filter:blur(10px)}
@media(max-width:620px){.youplugs-copyright{font-size:.55rem;bottom:calc(100% + 4px)}}
