/* CATNARA Top Nature V1 — home-masthead only; touch-transparent.
 * Crops below the headline and softly fades before the logo/text. */
@media screen and (max-width:820px){
 html[data-view-mode="public"][data-mobile-experience="app"]
 body.catnara-app-shell-v2-active #catnara-app-home-v3 .catnara-top-branch-overlay{
   position:absolute;top:0;right:0;z-index:1;
   width:min(66%,275px);max-width:100%;overflow:hidden;
   pointer-events:none!important;touch-action:none!important;
   user-select:none!important;-webkit-user-select:none!important;
   contain:paint;isolation:isolate;
   -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.30) 16%,#000 43%),
     linear-gradient(180deg,#000 0%,#000 81%,transparent 100%);
   -webkit-mask-composite:source-in;
   mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.30) 16%,#000 43%);
 }
 html[data-view-mode="public"][data-mobile-experience="app"]
 body.catnara-app-shell-v2-active #catnara-app-home-v3 .catnara-top-branch-canvas{
   display:block;width:100%;height:100%;pointer-events:none!important;
 }
 html[data-view-mode="public"][data-mobile-experience="app"]
 body.catnara-app-shell-v2-active #catnara-app-home-v3
 :is(.catapp-original-masthead,.catapp-original-greeting){
   position:relative;z-index:3;
 }
}
@media(prefers-reduced-motion:reduce){
 .catnara-top-branch-canvas{animation:none!important}
 .catnara-top-branch-overlay.catnara-top-branch-breeze{animation:none!important;transform:none!important}
}
/* CATNARA_TOP_BRANCH_VISIBLE_BREEZE_V20261104:
   Composite the small already-rasterized branch surface without changing
   page height or attaching scroll/touch/viewport listeners. */
@media screen and (max-width:820px){
 /* CATNARA_TOP_BRANCH_EXPRESSIVE_WIND_V20261104:
    Staggered gust peaks instead of an almost imperceptible two-frame wobble. */
 @keyframes catnara-top-branch-wind{
  0%,100%{transform:rotate(var(--branch-angle-start,-1deg))}
  22%{transform:rotate(var(--branch-angle-mid,-.2deg))}
  50%{transform:rotate(var(--branch-angle-end,1deg))}
  76%{transform:rotate(var(--branch-angle-gust,2deg))}
 }
 html[data-view-mode="public"][data-mobile-experience="app"]
 body.catnara-app-shell-v2-active #catnara-app-home-v3
 .catnara-top-branch-overlay.catnara-top-branch-breeze{
  animation:catnara-top-branch-wind var(--branch-duration,6s) cubic-bezier(.42,.04,.58,.97) infinite;
  will-change:transform;
 }
}

/* CATNARA TOP-ONLY NATURE: the retired PWA lower branch surface
   and all its transforms/masks/tiles have been removed. */
@media screen and (max-width:820px){
 html[data-view-mode="public"][data-mobile-experience="app"]
 body.catnara-app-shell-v2-active #catnara-app-home-v3{
  position:relative;
 }
 html[data-view-mode="public"][data-mobile-experience="app"]
 body.catnara-app-shell-v2-active #catnara-app-home-v3 .catnara-top-branch-overlay[data-side="left"]{
  left:0;right:auto;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 56%,rgba(0,0,0,.3) 85%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 56%,rgba(0,0,0,.3) 85%,transparent 100%);
 }
}
/* CATNARA_BANNER_IVY_V20261104: small banner-anchored art.
   It is absolute and outside layout; it does not create a scroll container
   or pointer hit-test area. Explore cards always paint above the ivy. */
@media screen and (max-width:820px){
 html[data-mobile-experience="app"] body.catnara-app-shell-v2-active
 #catnara-app-home-v3.catapp-original-home .catnara-banner-vine-overlay{
  position:absolute!important;left:0!important;right:0!important;
  width:100%!important;height:120px;z-index:4!important;
  margin:0!important;padding:0!important;border:0!important;
  pointer-events:none!important;touch-action:pan-y!important;
  user-select:none!important;-webkit-user-select:none!important;
  contain:paint;overflow:hidden!important;
 }
 html[data-mobile-experience="app"] body.catnara-app-shell-v2-active
 #catnara-app-home-v3.catapp-original-home .catnara-banner-vine-canvas{
  display:block;position:absolute;top:0;
  pointer-events:none!important;touch-action:pan-y!important;
  max-height:150px;
 }
 html[data-mobile-experience="app"] body.catnara-app-shell-v2-active
 #catnara-app-home-v3.catapp-original-home .catapp-original-explore{
  position:relative;z-index:2;
 }
 /* CATNARA_BANNER_VINE_ARTICULATED_V20261104:
    The anchored woody spine never moves; only individual shoots swing.
    CATNARA_VINE_NINE_GUST_CADENCE_V20261104 adds nonuniform gust intervals. */
 @keyframes catnara-banner-vine-breeze{
  0%,100%{transform:rotate(var(--vine-angle-start,-.6deg))}
  21%{transform:rotate(var(--vine-angle-mid,-.2deg))}
  51%{transform:rotate(var(--vine-angle-end,.6deg))}
  76%{transform:rotate(var(--vine-angle-gust,2deg))}
 }
 html[data-mobile-experience="app"] body.catnara-app-shell-v2-active
 #catnara-app-home-v3.catapp-original-home
 .catnara-banner-vine-canvas.catnara-banner-vine-flutter{will-change:transform}
 html[data-mobile-experience="app"] body.catnara-app-shell-v2-active
 #catnara-app-home-v3.catapp-original-home
 .catnara-banner-vine-breeze .catnara-banner-vine-canvas.catnara-banner-vine-flutter{
  animation:catnara-banner-vine-breeze var(--vine-duration,8s) cubic-bezier(.42,.07,.58,.94) infinite;
 }
}
@media(prefers-reduced-motion:reduce){
 .catnara-banner-vine-overlay .catnara-banner-vine-flutter{animation:none!important;transform:none!important}
}

/* CATNARA_PWA_HOME_SINGLE_SCROLL_V20261104:
   Native-touch evidence: a lower tile's 1px animated overflow made BODY
   consume the gesture while HTML stayed at 281px. BODY must not become
   a second scroll container beneath the document scrolling element.
   Keep explicit inline modal locks authoritative. */
@supports (overflow:clip){
 @media screen and (max-width:820px){
  html[data-view-mode="public"][data-mobile-experience="app"]
  body.catnara-app-shell-v2-active.catnara-app-route-home:not([style*="overflow"]){
   overflow-x:clip!important;
   overflow-y:visible!important;
  }
 }
}
