/*
  Tsubomi 19.2 — Confort intelligent & Compositor Guard
  Dernière couche CSS : stabilité iOS/mobile, interactions simples, aide progressive.
*/
:root{
  --tsb-v192-edge:12px;
  --tsb-v192-guide-bg:rgba(24,18,27,.98);
  --tsb-v192-guide-line:rgba(242,11,136,.30);
}

/* --- Garde anti-calque noir / fantôme Safari-WebKit --------------------- */
@media(max-width:920px){
  body:not(.tsb-menu-open) .main-nav{
    display:none!important;
    position:static!important;
    inset:auto!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    max-width:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    contain:none!important;
    transform:none!important;
    -webkit-transform:none!important;
    will-change:auto!important;
  }
  body:not(.tsb-menu-open) .tsb-menu-backdrop{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    background:transparent!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  body.tsb-menu-open .main-nav.open{
    display:flex!important;
    position:fixed!important;
    width:auto!important;height:auto!important;
    min-width:0!important;min-height:0!important;
    max-width:none!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    background:#101017!important;
    border:1px solid rgba(255,255,255,.12)!important;
  }
}

/* Sur les petits WebKit, aucun effet GPU de transparence sur les couches fixes. */
@media(max-width:640px){
  html[data-ios-webkit="true"] .site-header,
  html[data-ios-webkit="true"] .main-nav,
  html[data-ios-webkit="true"] .tsb-menu-backdrop,
  html[data-ios-webkit="true"] .tsb-easy-dock,
  html[data-ios-webkit="true"] .tsubomi-assistant-launcher,
  html[data-ios-webkit="true"] .cortex-orb,
  html[data-ios-webkit="true"] .rgpd,
  html.tsb-platform-ios .site-header,
  html.tsb-platform-ios .main-nav,
  html.tsb-platform-ios .tsb-menu-backdrop,
  html.tsb-platform-ios .tsb-easy-dock,
  html.tsb-platform-ios .tsubomi-assistant-launcher,
  html.tsb-platform-ios .cortex-orb,
  html.tsb-platform-ios .rgpd{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    -webkit-filter:none!important;
    will-change:auto!important;
    contain:none!important;
    -webkit-transform:none!important;
    transform:none!important;
  }
  html[data-ios-webkit="true"] .tsb-easy-dock,
  html.tsb-platform-ios .tsb-easy-dock{background:#0c0c12!important}

  /* L'accueil suit strictement le flux du document. */
  body[data-page="index"] .hero{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    align-items:stretch!important;
    overflow:visible!important;
    isolation:auto!important;
    contain:none!important;
  }
  body[data-page="index"] .hero-copy,
  body[data-page="index"] .hero-showcase{
    position:relative!important;
    inset:auto!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    transform:none!important;-webkit-transform:none!important;
    contain:none!important;will-change:auto!important;
  }
  body[data-page="index"] .hero-copy{order:1!important;z-index:auto!important}
  body[data-page="index"] .hero-showcase{order:2!important;z-index:auto!important;min-height:0!important;margin-top:4px!important}
  body[data-page="index"] .release-window{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;contain:none!important;transform:none!important;-webkit-transform:none!important}
}

/* --- Confort intelligent ------------------------------------------------ */
html.tsb-tap-assist .btn,
html.tsb-tap-assist button,
html.tsb-tap-assist .icon-btn,
html.tsb-tap-assist .main-nav a,
html.tsb-tap-assist .tsb-easy-dock a{
  min-height:56px!important;
}
html.tsb-tap-assist .main-nav a{padding-block:15px!important}

/* Les boutons flottants se font discrets pendant un défilement actif. */
html.tsb-user-scrolling .tsubomi-assistant-launcher,
html.tsb-user-scrolling .cortex-orb{
  opacity:.12!important;
  pointer-events:none!important;
  transform:translateY(10px) scale(.94)!important;
  -webkit-transform:translateY(10px) scale(.94)!important;
  transition:opacity .16s ease,transform .16s ease!important;
}

/* --- Aide courte et progressive ---------------------------------------- */
.tsb-guide-strip{
  width:min(1180px,calc(100% - 24px));
  margin:12px auto 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid var(--tsb-v192-guide-line);
  border-radius:16px;
  background:var(--tsb-v192-guide-bg);
  color:#f5f5f7;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.tsb-guide-copy{display:grid;gap:3px;min-width:0}
.tsb-guide-copy strong{font-size:.95rem}
.tsb-guide-copy span{color:#c5c2ca;font-size:.86rem;line-height:1.4}
.tsb-guide-actions{display:flex;gap:8px;flex:0 0 auto}
.tsb-guide-actions .btn{min-height:42px;padding:8px 12px}
@media(max-width:620px){
  .tsb-guide-strip{width:calc(100% - 16px);align-items:stretch;flex-direction:column;padding:12px;border-radius:14px}
  .tsb-guide-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .tsb-guide-actions .btn{width:100%;justify-content:center}
}

/* Réglages de confort dans Mon espace. */
.tsb-comfort-settings{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02);display:grid;gap:12px}
.tsb-comfort-settings h3{margin:0 0 2px;font-size:1.05rem}
.tsb-comfort-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06)}
.tsb-comfort-option:first-of-type{border-top:0}
.tsb-comfort-option strong{display:block}.tsb-comfort-option small{display:block;color:var(--muted);margin-top:3px;line-height:1.4}
.tsb-comfort-option input{width:24px;height:24px;accent-color:var(--accent);flex:0 0 auto}
@media(max-width:520px){.tsb-comfort-option{align-items:flex-start}}

/* Mode calme : moins d'éléments simultanés, sans supprimer de fonction. */
html.tsb-calm-mode .cortex-orb{opacity:.35}
html.tsb-calm-mode .tsubomi-assistant-launcher{opacity:.55}
html.tsb-calm-mode .feature-strip{grid-template-columns:1fr!important}
html.tsb-calm-mode .cortex-home{display:none!important}

@media(prefers-reduced-motion:reduce){
  html.tsb-user-scrolling .tsubomi-assistant-launcher,
  html.tsb-user-scrolling .cortex-orb{transition:none!important;transform:none!important;-webkit-transform:none!important}
}
