/* feedback.css — propriétaire : core (ordre de chargement = ordre de la cascade, voir index.html) */
/* ============================ Empty ============================ */
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px var(--gutter)}
.empty svg{width:160px;height:120px}
.empty h2{margin-top:16px}
.empty p{color:var(--c-ink-2);margin-top:6px;max-width:290px}
.empty .btn{margin-top:20px}

/* ============================ Toast ============================ */
#toasts{position:absolute;left:var(--gutter);right:var(--gutter);top:12px;z-index:var(--z-toast);pointer-events:none}
.toast{display:flex;gap:12px;align-items:center;padding:12px 12px 12px 14px;border-radius:var(--r-md);background:var(--c-ink);color:var(--c-bg);font-size:var(--fs-sm);font-weight:600;box-shadow:var(--sh-3);transform:translateY(-130%);opacity:0;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base);pointer-events:auto;touch-action:none}
.toast.in{transform:none;opacity:1}
.toast .grow{line-height:1.35}
.toast .ti{flex:none;color:#7FD99A}
.toast.info .ti{color:#8EC2F2}.toast.error .ti{color:#FF9A9A}
:root[data-theme="dark"] .toast .ti{color:var(--c-success)}
.toast .tact{color:var(--c-mimoza);font-weight:700;height:36px;padding:0 10px;border-radius:10px;flex:none}
.toast svg.tfac{width:34px;height:30px;flex:none}
.toast .tfac .facade-wall{fill:var(--c-ink);stroke:var(--c-bg)}
.toast .tfac .win{fill:rgb(255 255 255 / .2)}
.toast .tfac .win.flash{animation:winOnT 900ms var(--ease-out) 200ms forwards}
@keyframes winOnT{0%{fill:rgb(255 255 255 / .2)}40%{fill:var(--c-mimoza);transform:scale(1.3)}100%{fill:var(--c-mimoza)}}

/* View transitions */
::view-transition-old(screen){animation:vtOut var(--dur-base) var(--ease-in-out) both}
::view-transition-new(screen){animation:vtIn var(--dur-slow) var(--ease-out) both}
html[data-vt="back"]::view-transition-old(screen){animation-name:vtOutB}
html[data-vt="back"]::view-transition-new(screen){animation-name:vtInB}
html[data-vt="tab"]::view-transition-old(screen){animation:vtFade var(--dur-fast) linear reverse both}
html[data-vt="tab"]::view-transition-new(screen){animation:vtFade var(--dur-base) var(--ease-out) both}
::view-transition-group(hero-pic){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}
@keyframes vtIn{from{opacity:0;transform:translateX(28px)}}
@keyframes vtOut{to{opacity:0;transform:translateX(-14px)}}
@keyframes vtInB{from{opacity:0;transform:translateX(-28px)}}
@keyframes vtOutB{to{opacity:0;transform:translateX(14px)}}
@keyframes vtFade{from{opacity:0}}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* T2-39 : toasts en bas, au-dessus de la barre d'onglets (n'occultent plus retour + titre) ; variante sombre */
#toasts{top:auto;bottom:calc(76px + env(safe-area-inset-bottom))}
.toast{transform:translateY(130%)}
.toast.in{transform:none}
:root[data-theme="dark"] .toast{background:#2B2723;color:#F3EEE6;border:1px solid rgb(255 255 255 / .12)}
:root[data-theme="dark"] .toast .tfac .facade-wall{fill:#2B2723;stroke:#F3EEE6}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .toast{background:#2B2723;color:#F3EEE6;border:1px solid rgb(255 255 255 / .12)}
  :root:not([data-theme="light"]) .toast .tfac .facade-wall{fill:#2B2723;stroke:#F3EEE6}}
