/* app-shell.css — plynulé prechody medzi stránkami, efekty a režim iPhone appky ARTEMIS (html.in-app).
   Vrátenie späť: odstrániť <link … app-shell.css> v partials/header.php. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: afOut .16s ease both; }
::view-transition-new(root) { animation: afIn .3s cubic-bezier(.2,.8,.2,1) both; }
@keyframes afOut { to { opacity: 0; } }
@keyframes afIn { from { opacity: 0; transform: translateY(10px); } }
.topbar { view-transition-name: af-topbar; }                       /* hlavička ostáva pri prechode na mieste */
.progressbar > span { transform-origin: left center; animation: afGrow .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes afGrow { from { transform: scaleX(0); } }
.btn, button { transition: transform .12s ease, box-shadow .15s ease, background .15s ease; }
.btn:active, button:active { transform: scale(.97); }
.card { transition: transform .18s ease, box-shadow .2s ease; }
a.card:active, .card.clickable:active { transform: scale(.985); }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root), .progressbar > span { animation: none; }
  .btn:active, button:active, a.card:active { transform: none; }
}
/* ── iPhone appka: webové menu nahrádza natívna spodná lišta ─────────────── */
html.in-app .nav-toggle-btn, html.in-app .nav-toggle-input, html.in-app .nav-stack { display: none !important; }
html.in-app body.app-tabs { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
html.in-app body.app-tabs .qa-wrap, html.in-app body.app-tabs .twz-open-fab, html.in-app body.app-tabs .abm-fab { bottom: calc(18px + 96px + env(safe-area-inset-bottom, 0px)) !important; }
html.in-app body.app-tabs #sessWarn { bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important; }
html.in-app .sr-skip { display: none; }
