/* V35 — strict whole-page mobile containment */
@media (max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  body{position:relative}
  header,main,.hero,.experience-tabs,.mission-strip,.beginner-roadmap,.layout,.slots,.slot,.summary-card{width:100%;max-width:100%;min-width:0!important}

  header{overflow:hidden;padding:7px 10px!important}
  .brand,.brand>div,.header-actions{min-width:0!important;max-width:100%}
  .brand strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-actions>*{min-width:0;max-width:100%}

  main{padding-left:12px!important;padding-right:12px!important;overflow:hidden}
  .hero{overflow:hidden;margin-bottom:22px}
  .hero>div{min-width:0;max-width:100%}
  .hero h1{font-size:clamp(27px,8.5vw,34px)!important;overflow-wrap:anywhere}
  .hero p,.hero small{max-width:100%;overflow-wrap:anywhere}
  .compat-pill{max-width:100%;white-space:normal}

  .experience-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden!important}
  .experience-tabs button{min-width:0!important;padding:12px 3px!important;font-size:8px!important;letter-spacing:.45px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .mission-strip{grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;padding:9px!important;overflow:hidden}
  .mission-strip>*{min-width:0;max-width:100%}
  .mission-strip strong,.mission-strip span{overflow-wrap:anywhere}

  .beginner-roadmap{grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;padding:11px!important;overflow:hidden}
  .roadmap-intro{min-width:0!important;max-width:100%}
  .roadmap-intro strong,.roadmap-intro p{overflow-wrap:anywhere}
  .beginner-roadmap>button{max-width:125px;padding:9px 8px!important;white-space:normal!important;line-height:1.25}
  .roadmap-steps{grid-column:1/-1!important;grid-row:2!important;width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:2px}
  .roadmap-steps::-webkit-scrollbar{display:none}

  .layout{display:block!important;overflow:hidden}
  .slots{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;overflow:hidden}
  .slot{grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important;padding:12px!important;overflow:hidden}
  .slot .part-art{width:76px!important;height:76px!important;min-width:0}
  .part-info,.slot-top,.slot-top>*{min-width:0!important;max-width:100%}
  .slot-top{align-items:flex-start!important;gap:6px!important}
  .slot-type{flex:1 1 auto;overflow-wrap:anywhere}
  .count{flex:0 1 112px!important;max-width:112px!important;font-size:8px!important;line-height:1.25!important;text-align:right;white-space:normal!important;overflow-wrap:anywhere}
  .part-info h3{font-size:13px!important;line-height:1.28!important;overflow-wrap:anywhere;word-break:normal}
  .part-info p,.choose{max-width:100%;overflow-wrap:anywhere}

  .summary-card{position:static!important;margin-top:14px;overflow:hidden}
  .resume-live-tutorial{display:none!important}

  /* Keep XP notifications fully inside the phone and fully hidden between events. */
  .game-toast{left:10px!important;right:10px!important;top:112px!important;width:auto!important;max-width:none!important;box-sizing:border-box!important;transform:translateY(-12px)!important;opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s ease,opacity .25s ease,visibility 0s linear .25s!important}
  .game-toast.show{transform:translateY(0)!important;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s!important}
  .game-toast>div{min-width:0}
  .game-toast p{max-width:100%;overflow-wrap:anywhere}
}

@media (max-width:380px){
  main{padding-left:9px!important;padding-right:9px!important}
  .slot{grid-template-columns:68px minmax(0,1fr)!important;padding:10px!important}
  .slot .part-art{width:68px!important;height:68px!important}
  .count{max-width:96px!important}
  .beginner-roadmap>button{max-width:112px;font-size:7px!important}
}
.version-badge{display:inline-flex;align-items:center;margin-left:7px;padding:2px 5px;border:1px solid #ef252d;border-radius:4px;color:#ff5056;font:800 9px/1 Arial,sans-serif;vertical-align:middle}
