/* Ash & Blood v5.8 — site-wide responsive safety layer */
html,body{max-width:100%;overflow-x:hidden}
body.nav-menu-open{overflow:hidden;touch-action:none}
img,video,canvas,svg,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere}
.ab-mobile-table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}
.ab-mobile-table-scroll>table{min-width:640px}
.ab-nav-mobile-actions{display:none}

@media(max-width:1120px){
  #nav.ab-nav{grid-template-columns:minmax(0,1fr) auto!important;gap:.65rem!important;padding-left:max(1rem,env(safe-area-inset-left))!important;padding-right:max(1rem,env(safe-area-inset-right))!important}
  #nav .ab-nav-brand{min-width:0;overflow:hidden}
  #nav .ab-nav-brand-copy{min-width:0;overflow:hidden}
  #nav .ab-nav-brand-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #nav .ab-nav-tools{justify-self:end;min-width:0;flex:0 0 auto}
  #nav .ab-nav-links{z-index:2147482999!important;padding:clamp(.7rem,2vw,1rem)!important;padding-bottom:max(1.4rem,env(safe-area-inset-bottom))!important;overscroll-behavior:contain}
  #nav .ab-nav-links>li{width:100%;min-width:0}
  #nav .ab-nav-links>li>a,#nav .ab-nav-links>li>button{min-height:48px;border-radius:7px}
  #nav .ab-nav-dropdown{box-sizing:border-box!important;margin:.25rem 0 .55rem 0!important;border-left:1px solid rgba(212,162,58,.18)!important;padding:.2rem .35rem .35rem .55rem!important;max-width:100%!important}
  #nav .ab-nav-dropdown a{grid-template-columns:28px minmax(0,1fr);min-width:0;padding:.7rem .65rem}
  #nav .ab-nav-dropdown span{min-width:0}
  #nav .ab-nav-dropdown strong,#nav .ab-nav-dropdown small{white-space:normal;overflow-wrap:anywhere}
  .ab-nav-mobile-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.75rem 0 .25rem;margin-top:.2rem;border-top:1px solid rgba(231,220,200,.08)}
  .ab-nav-mobile-actions>a,.ab-nav-mobile-actions>button,.ab-nav-mobile-actions>form button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:flex-start;gap:.55rem;padding:.72rem!important;border:1px solid rgba(231,220,200,.08)!important;border-radius:7px!important;background:rgba(255,255,255,.025)!important;color:#c7bdad!important;font:600 .67rem 'Cinzel',serif!important;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;cursor:pointer}
  .ab-nav-mobile-actions i{color:rgba(212,162,58,.82)}
  .ab-nav-mobile-actions form{margin:0;min-width:0}
}

@media(max-width:760px){
  :root{--ab-nav-h:60px!important}
  #nav.ab-nav{height:var(--ab-nav-h)!important;padding-left:max(.7rem,env(safe-area-inset-left))!important;padding-right:max(.7rem,env(safe-area-inset-right))!important;gap:.4rem!important}
  #nav .ab-nav-brand{gap:.48rem;max-width:min(46vw,185px)}
  #nav .ab-nav-brand-mark{width:25px;height:25px;flex:0 0 auto}
  #nav .ab-nav-brand-copy strong{font-size:.7rem;letter-spacing:.035em}
  #nav .ab-nav-brand-copy small{display:none!important}
  #nav .ab-nav-status,#nav .ab-nav-search,#nav .ab-nav-logout-form{display:none!important}
  #nav .ab-nav-tools{gap:.28rem}
  #nav .ab-nav-icon,#nav .ab-nav-profile,#nav .ab-hamburger{width:36px!important;height:36px!important;min-width:36px;padding:0!important;border-radius:7px}
  #nav .ab-nav-profile span{display:none!important}
  #nav .ab-nav-links{top:var(--ab-nav-h)!important;height:calc(100dvh - var(--ab-nav-h))!important;bottom:auto!important}
  .ab-notify-pop{position:fixed!important;left:.65rem!important;right:.65rem!important;top:calc(var(--ab-nav-h) + .55rem)!important;width:auto!important;max-height:calc(100dvh - var(--ab-nav-h) - 1.2rem);overflow:auto}
  .ab-command{padding:.65rem!important;align-items:flex-start!important;padding-top:calc(var(--ab-nav-h) + .65rem)!important}
  .ab-command-panel{width:100%!important;max-width:none!important;max-height:calc(100dvh - var(--ab-nav-h) - 1.3rem)!important;border-radius:10px!important}
  .ab-command-input-wrap{grid-template-columns:auto minmax(0,1fr) auto!important}
  .ab-command-foot{display:none!important}
  .ab-drawer{width:min(92vw,420px)!important;max-width:calc(100vw - .75rem)!important;padding-bottom:max(1rem,env(safe-area-inset-bottom))}
  .ab-pref-row{grid-template-columns:1fr!important;gap:.55rem!important}
  .ab-segment{width:100%;display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr}
  .ab-segment button{min-width:0!important}

  /* Shared public layout safety */
  .ab-wrap,.section-inner,.events-wrap,.ledger-shell,.jukebox-wrap,.game-container,.wiki-main,.wiki-article,.cp-wrap,.td-shell{max-width:100%!important;min-width:0!important}
  .ab-wrap,.section-inner{width:calc(100% - 1.25rem)!important;margin-left:auto!important;margin-right:auto!important}
  main,section,article,aside,header,footer,div{min-width:0}
  .ab-page-hero,.page-header{max-width:100%!important;overflow:hidden}
  body:not(.showcase-page) .page-header{margin-top:var(--ab-nav-h)!important}
  .page-header{min-height:300px!important;padding-left:1rem!important;padding-right:1rem!important}
  .page-header .hero-content{width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}
  .hero-title,.ab-title{overflow-wrap:anywhere;text-wrap:balance}
  .ab-actions,.hero-actions,.creator-hero-actions,.sorc-hero-actions{width:100%;flex-wrap:wrap}
  .ab-actions .ab-btn,.hero-actions .ab-btn,.creator-hero-actions .ab-btn,.sorc-hero-actions .sorc-btn{max-width:100%}

  /* Grids and cards */
  .ab-grid,.ab-directory,.ab-game-grid,.ab-form-grid,.ab-dashboard-strip,.ab-hero-statbox{min-width:0!important}
  .ab-card,.panel,.card,.char-card,.event-card,.rumor-card{max-width:100%;min-width:0}
  .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.75rem!important}
  body.roster-page .roster-controls{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:.55rem!important}
  body.roster-page .roster-controls>*{width:100%!important;max-width:100%!important}
  body.events-page .events-wrap{width:min(100% - 1rem,100%)!important;padding-left:0!important;padding-right:0!important}
  .stats-row,.ab-clan-detail{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Portal / profile / community / forum */
  .ab-xf-cover,.ab-xf-identity,.ab-studio-hero,.cp-hero,.ab-forum-hero,.ab-rumors-hero{max-width:100%;min-width:0}
  .ab-xf-identity{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important}
  .ab-xf-title,.ab-xf-badges{min-width:0;max-width:100%}
  .ab-xf-badges{justify-content:center!important}
  .ab-v10-identity h1{font-size:clamp(2rem,11vw,2.8rem)!important;overflow-wrap:anywhere}
  .ab-v10-profile-nav{overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .ab-v10-profile-nav>*{flex:0 0 auto}
  .cp-activity-rail{grid-auto-columns:min(86vw,340px)!important}

  /* Wiki safety */
  .wiki-page,.wiki-layout,.wiki-main,.wiki-content,.wiki-article{max-width:100vw!important;min-width:0!important}
  .wiki-page.wiki-ultimate .wiki-main{padding-left:.75rem!important;padding-right:.75rem!important}
  .wiki-page.wiki-ultimate .wiki-sidebar{top:var(--ab-nav-h)!important;height:calc(100dvh - var(--ab-nav-h))!important;max-width:86vw!important}
  .wiki-article img,.wiki-article table{max-width:100%!important}

  /* Forms / modals / long content */
  .modal,.ab-modal,.wiki-lightbox,.wiki-help-modal{max-width:100vw!important}
  .modal-dialog,.ab-modal-card,.wiki-help-card{max-width:calc(100vw - 1rem)!important;margin:.5rem auto!important}
  .modal-content,.ab-modal-card{max-height:calc(100dvh - 1rem)!important;overflow:auto!important}
  input,select,textarea{font-size:16px}
  textarea{min-height:110px}
  .ab-mobile-table-scroll{margin:.35rem 0}
  pre{overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* Creator pages */
  .character-creator-page .page-header{min-height:420px!important;padding-top:calc(var(--ab-nav-h) + 2rem)!important}
  .creator-hero-shell,.creator-hero-copy,.creator-section,.wizard-shell,.creator-wizard{max-width:100%!important;min-width:0!important}
  .creator-hero-chips{flex-wrap:wrap!important}
  .sorc-shell,.sorc-hero,.sorc-panel,.sorc-form-grid{max-width:100%!important;min-width:0!important}
}

@media(max-width:520px){
  #nav .ab-nav-brand{max-width:42vw}
  #nav .ab-nav-notify-wrap{display:block}
  #nav .ab-nav-mobile-actions{grid-template-columns:1fr}
  .roster-grid{grid-template-columns:1fr!important}
  .stats-row,.ab-clan-detail,.ab-hero-statbox,.ab-dashboard-strip{grid-template-columns:1fr 1fr!important}
  .ab-footer-v13__server-grid{grid-template-columns:1fr 1fr!important}
  .page-header{min-height:260px!important}
  .page-header .hero-title{font-size:clamp(1.8rem,11vw,3rem)!important}
  .ab-actions,.hero-actions{display:grid!important;grid-template-columns:1fr!important}
  .ab-actions>* ,.hero-actions>*{width:100%!important;justify-content:center!important}
}

@media(max-width:360px){
  #nav .ab-nav-brand-copy strong{font-size:.63rem}
  #nav .ab-nav-brand{max-width:38vw}
  #nav .ab-nav-notify-wrap{display:none}
  .stats-row,.ab-clan-detail,.ab-hero-statbox,.ab-dashboard-strip{grid-template-columns:1fr!important}
}
