/* AItira V21 — mobile layout normalization, home curation repair, typo-safe content guard */
:root{--aitira-v21-gutter:14px}
html.aitira-shell-v21,html.aitira-shell-v21 body{max-width:100%;overflow-x:hidden}
html.aitira-shell-v21 body>main{max-width:100%;min-width:0;overflow-x:clip}
html.aitira-shell-v21 img,html.aitira-shell-v21 video,html.aitira-shell-v21 iframe{max-width:100%}
html.aitira-shell-v21 input,html.aitira-shell-v21 select,html.aitira-shell-v21 textarea,html.aitira-shell-v21 button{max-width:100%;min-width:0}

/* Tablet: avoid squeezing the editorial rail and its action panel side by side. */
@media(max-width:980px){
  .community-pulse .pulse-layout{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .community-pulse .pulse-actions{width:100%!important;min-width:0!important}
}

/* Mobile home curation must be a readable list — never a sideways carousel. */
@media(max-width:760px){
  .shell{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important;margin-left:auto!important;margin-right:auto!important}
  .community-pulse{padding:56px 0 62px!important;overflow:hidden!important}
  .community-pulse .pulse-head{margin-bottom:20px!important;gap:9px!important}
  .community-pulse .pulse-head h2{margin:7px 0 5px!important;font-size:29px!important;line-height:1.2!important;word-break:keep-all!important}
  .community-pulse .pulse-head p{font-size:13px!important;line-height:1.65!important;word-break:keep-all!important}
  .community-pulse .pulse-live{align-self:flex-start!important;padding:8px 11px!important}
  .community-pulse .pulse-layout{display:block!important;width:100%!important;min-width:0!important;overflow:visible!important}
  .community-pulse .pulse-stream{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto!important;
    gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;
    padding:0!important;margin:0!important;overflow:visible!important;scroll-snap-type:none!important;
  }
  .community-pulse .pulse-message,
  .community-pulse .pulse-message:nth-child(n),
  .community-pulse .pulse-message:first-child{
    grid-column:auto!important;grid-row:auto!important;grid-area:auto!important;
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;
    padding:17px 16px!important;border-radius:16px!important;overflow:hidden!important;scroll-snap-align:none!important;
  }
  .community-pulse .pulse-message>span{font-size:10px!important;line-height:1.35!important;white-space:normal!important;word-break:keep-all!important}
  .community-pulse .pulse-message>p,
  .community-pulse .pulse-message:first-child>p{
    margin:10px 0 16px!important;font-size:16px!important;font-weight:700!important;line-height:1.55!important;
    white-space:normal!important;word-break:keep-all!important;overflow:visible!important;
  }
  .community-pulse .pulse-message:first-child>p{font-size:18px!important}
  .community-pulse .pulse-message footer{gap:10px!important;align-items:center!important;font-size:10px!important;line-height:1.35!important;white-space:normal!important}
  .community-pulse .pulse-message footer b{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .community-pulse .pulse-message footer time{flex:0 0 auto!important;white-space:nowrap!important}
  .community-pulse .pulse-actions{margin-top:12px!important;padding:20px 18px!important;border-radius:18px!important}
  .community-pulse .pulse-actions h3{font-size:21px!important;margin:7px 0 14px!important}
  .community-pulse .pulse-actions a{grid-template-columns:34px minmax(0,1fr) 14px!important;padding:12px 0!important}

  /* Prevent legacy page sections from creating a page-level horizontal scrollbar. */
  .hero,.flow-section,.play-band,.curation,.home-calendar-live,.content-strip,.home-media,
  .finder-page,.calendar-page,.board-page,.trend-page,.newsletter-page,.blog-page,.faq-page,
  .labs-page,.aitira-labs-page,.match-page,.stack-page,.media-page{max-width:100%!important;overflow-x:clip!important}
  .flow-cards,.play-cards,.tool-row,.content-portal-nav,.newsletter-subscribe-form,.newsletter-subscribe-wide,
  .pro-blog-layout,.newsletter-pro-layout,.blog-pro-layout{max-width:100%!important;min-width:0!important}

  /* Long Korean headlines should wrap naturally, never force the viewport wider. */
  h1,h2,h3,p,a,span,b,strong,small,label{overflow-wrap:anywhere}
  .aitira-global-brand span,.aitira-global-hub-mini b,.aitira-mobile-bottom-v17 span{overflow-wrap:normal}

  /* Keep the fixed bottom bar visually separate from the document flow. */
  .aitira-mobile-bottom-v17{left:0!important;right:0!important;width:100%!important;max-width:100%!important}
}

@media(max-width:420px){
  .community-pulse .pulse-head h2{font-size:27px!important}
  .community-pulse .pulse-message>p,.community-pulse .pulse-message:first-child>p{font-size:15.5px!important}
  .community-pulse .pulse-message:first-child>p{font-size:17px!important}
}

/* Dynamic content may contain an old broken delimiter; V21 JS normalizes title text only. */
.aitira-v21-normalized-title{word-break:keep-all;overflow-wrap:anywhere}
