/* snailsploit — universal mobile stylesheet
   Loaded site-wide so robust attribute selectors win against per-page inline styles. */

@media (max-width: 880px) {
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }
  *, *::before, *::after { box-sizing: border-box !important; min-width: 0 !important; }
  body, p, li, a, span, div, h1, h2, h3, h4, h5, h6, code, pre, blockquote {
    overflow-wrap: break-word !important; word-wrap: break-word !important;
  }
  pre, code { white-space: pre-wrap !important; word-break: break-word !important; }
  img, svg, video, iframe, embed, object, canvas { max-width: 100% !important; height: auto !important; }

  [style*="max-width: 1280px"], [style*="max-width:1280px"],
  [style*="max-width: 1200px"], [style*="max-width:1200px"],
  [style*="max-width: 1100px"], [style*="max-width:1100px"],
  [style*="max-width: 1000px"], [style*="max-width:1000px"],
  [style*="max-width: 980px"],  [style*="max-width:980px"],
  [style*="max-width: 900px"],  [style*="max-width:900px"] {
    max-width: 100% !important;
  }
  [style*="padding: 80px 32px"], [style*="padding:80px 32px"],
  [style*="padding: 64px 32px"], [style*="padding:64px 32px"],
  [style*="padding: 48px 32px"], [style*="padding:48px 32px"],
  [style*="padding: 32px 32px"], [style*="padding:32px 32px"] {
    padding-left: 20px !important; padding-right: 20px !important;
  }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 20px !important; }
  [style*="position: sticky"], [style*="position:sticky"] {
    position: static !important; max-height: none !important; top: auto !important;
  }
  [style*="border-left: 1px solid var(--line)"], [style*="border-left:1px solid var(--line)"],
  [style*="border-left: 1px solid var(--line-hi)"], [style*="border-left:1px solid var(--line-hi)"] {
    border-left: 0 !important; border-top: 1px solid var(--line) !important;
    padding-left: 0 !important; padding-top: 24px !important; margin-top: 16px !important;
  }
  [style*="font-size: 160px"], [style*="font-size:160px"],
  [style*="font-size: 144px"], [style*="font-size:144px"],
  [style*="font-size: 132px"], [style*="font-size:132px"],
  [style*="font-size: 128px"], [style*="font-size:128px"],
  [style*="font-size: 120px"], [style*="font-size:120px"],
  [style*="font-size: 112px"], [style*="font-size:112px"],
  [style*="font-size: 104px"], [style*="font-size:104px"],
  [style*="font-size: 96px"],  [style*="font-size:96px"] {
    font-size: 48px !important; line-height: 1.02 !important; letter-spacing: -0.04em !important;
  }
  [style*="font-size: 88px"], [style*="font-size:88px"],
  [style*="font-size: 80px"], [style*="font-size:80px"],
  [style*="font-size: 72px"], [style*="font-size:72px"],
  [style*="font-size: 64px"], [style*="font-size:64px"] {
    font-size: 36px !important; line-height: 1.08 !important;
  }
  [style*="font-size: 56px"], [style*="font-size:56px"],
  [style*="font-size: 48px"], [style*="font-size:48px"] {
    font-size: 28px !important; line-height: 1.12 !important;
  }
  [style*="font-size: 40px"], [style*="font-size:40px"],
  [style*="font-size: 36px"], [style*="font-size:36px"] {
    font-size: 22px !important; line-height: 1.2 !important;
  }
  [style*="font-size: 32px"], [style*="font-size:32px"] { font-size: 20px !important; }
  [style*="font-size: 28px"], [style*="font-size:28px"] { font-size: 18px !important; }

  header nav {
    overflow-x: auto !important; -webkit-overflow-scrolling: touch !important;
    flex-wrap: nowrap !important; max-width: calc(100vw - 140px) !important; scrollbar-width: none !important;
  }
  header nav::-webkit-scrollbar { display: none !important; }
  header nav a { white-space: nowrap !important; flex: 0 0 auto !important; }
  header > div { padding: 14px 20px !important; gap: 12px !important; }

  table {
    display: block !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important; white-space: nowrap !important;
  }

  input, textarea, select { max-width: 100% !important; width: 100% !important; font-size: 16px !important; }
  button { min-height: 44px !important; font-size: 16px !important; }

  footer > div, footer [style*="display: flex"], footer [style*="display:flex"] {
    flex-direction: column !important; align-items: flex-start !important; gap: 20px !important;
  }
}

@media (max-width: 480px) {
  [style*="font-size: 132px"], [style*="font-size:132px"],
  [style*="font-size: 128px"], [style*="font-size:128px"],
  [style*="font-size: 120px"], [style*="font-size:120px"],
  [style*="font-size: 112px"], [style*="font-size:112px"],
  [style*="font-size: 96px"],  [style*="font-size:96px"] {
    font-size: 40px !important;
  }
  [style*="font-size: 88px"], [style*="font-size:88px"],
  [style*="font-size: 80px"], [style*="font-size:80px"],
  [style*="font-size: 72px"], [style*="font-size:72px"],
  [style*="font-size: 64px"], [style*="font-size:64px"] {
    font-size: 30px !important;
  }
  [style*="padding: 32px 32px"], [style*="padding:32px 32px"] {
    padding-left: 16px !important; padding-right: 16px !important;
  }
  header > div { padding: 12px 16px !important; }
}
