/* v14.3.3 — Visibility hardening.
   Conservative ownership layer: keep editorial content visible when legacy
   reveal/carousel state gets stuck, without restoring removed Journal tails. */

/* --------------------------------------------------------------------------
   1. Journal article: the reading surface must never disappear.
   -------------------------------------------------------------------------- */
body.as-v1433-visibility.single-post :is(
  .as95-article,
  .as95-article-head,
  .as95-cover,
  .as1140-article-shell,
  .as1343-article-shell,
  .as95-reading,
  .as1343-article-reading,
  .post-content,
  .as95-points,
  .as95-author,
  .as1432-disclosure
){
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
}

body.as-v1433-visibility.single-post :is(.as1140-article-shell,.as1343-article-shell,.as95-reading,.as1343-article-reading,.post-content){
  min-width:0!important;
  overflow:visible!important;
}

body.as-v1433-visibility.single-post .post-content > :not([hidden]),
body.as-v1433-visibility.single-post .post-content .as1344-longform-panel > :not([hidden]){
  visibility:visible!important;
  opacity:1!important;
}

body.as-v1433-visibility.single-post .post-content :is(img,video,iframe,figure,table,.wp-block-table,blockquote,pre){
  max-width:100%!important;
}
body.as-v1433-visibility.single-post .post-content img{
  height:auto!important;
}
body.as-v1433-visibility.single-post .post-content :is(p,li,h2,h3,h4,a,strong,em,span){
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

/* Active long-form chapter wins over stale hidden/display rules. */
body.as-v1433-visibility.single-post .as1344-longform-carousel :is(
  .as1300-home-desk__masthead,
  .as1300-carousel-layout,
  .as1300-carousel-index,
  .as1300-carousel-viewport,
  .as116-carousel-track
){
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
}
body.as-v1433-visibility.single-post .as1344-longform-carousel .as116-carousel-track > section[data-chapter].is-active,
body.as-v1433-visibility.single-post .as1344-longform-carousel .as116-carousel-track > section[data-chapter][aria-hidden="false"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:2!important;
  height:auto!important;
  min-height:min-content!important;
  max-height:none!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
}
body.as-v1433-visibility.single-post .as1344-longform-carousel .as116-carousel-track > section[data-chapter][aria-hidden="false"] > .as1344-longform-panel,
body.as-v1433-visibility.single-post .as1344-longform-carousel .as116-carousel-track > section[data-chapter].is-active > .as1344-longform-panel{
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Never revive the Journal tails intentionally removed in v14.3.2. */
body.as-v1433-visibility.single-post :is(.as1430-context-carousel,.as1343-journal-carousel.as1430-context-carousel){
  display:none!important;
}
body.as-v1433-visibility.single-post .as95-reference:not(.as1432-disclosure){
  display:none!important;
}
body.as-v1433-visibility.single-post :is(#as-reading-progress,.as1430-page-progress,.as1140-carousel-progress){
  display:none!important;
}

/* --------------------------------------------------------------------------
   2. Journal archive: cards and the latest rail must remain paintable.
   -------------------------------------------------------------------------- */
body.as-v1433-visibility.as-v1354-journal :is(
  .as95-journal,
  .as95-masthead,
  .as-rc3-journal-tools,
  .as1354-journal-stage,
  .as1354-journal-main,
  .as1354-journal-head,
  .as1354-journal-slider,
  .as1354-journal-slide,
  .as95-card,
  .as95-card-copy,
  .as1354-journal-latest
){
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
}
body.as-v1433-visibility.as-v1354-journal .as1354-journal-slide .as95-card{
  height:auto!important;
  min-height:330px!important;
  max-height:none!important;
}
body.as-v1433-visibility.as-v1354-journal .as1354-journal-slide .as95-card-copy{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
body.as-v1433-visibility.as-v1354-journal .as1354-journal-slide .as95-card-copy > :not([hidden]),
body.as-v1433-visibility.as-v1354-journal .as1354-journal-latest :is(li,a,strong,time){
  visibility:visible!important;
  opacity:1!important;
}

/* --------------------------------------------------------------------------
   3. Reveal fail-safe. JS still animates normally; this class is applied only
      when the v14.3.3 watchdog detects a reveal that remained stuck.
   -------------------------------------------------------------------------- */
html.as1433-visibility-repaired .as-reveal.as1433-force-visible,
html.as1433-visibility-repaired [data-reveal-ready].as1433-force-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  clip-path:none!important;
  animation:none!important;
  transition:none!important;
}

/* --------------------------------------------------------------------------
   4. Mobile/tablet resilience.
   -------------------------------------------------------------------------- */
@media (max-width:900px){
  body.as-v1433-visibility.single-post .as1344-longform-carousel .as1300-carousel-viewport,
  body.as-v1433-visibility.single-post .as1344-longform-carousel .as116-carousel-track{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  body.as-v1433-visibility.single-post .as1344-longform-carousel .as1344-longform-panel{
    max-width:100%!important;
  }
}
@media (max-width:680px){
  body.as-v1433-visibility.as-v1354-journal .as1354-journal-slide .as95-card{
    min-height:0!important;
  }
  body.as-v1433-visibility.single-post .as1344-longform-carousel .as1430-index-toggle{
    visibility:visible!important;
    opacity:1!important;
  }
}

@media print{
  html.as1433-visibility-repaired .as1433-force-visible{opacity:1!important;visibility:visible!important;transform:none!important;}
}
