/* ===============================
   Responsive Styles: Mobile Only
   =============================== */

@media (max-width: 768px) {
  nav.sidebar {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    width: 220px;
    background: #2a2a2a;
    color: #fff;
    height: 100%;
    padding-top: 1rem;
    z-index: 999;
    transition: transform 0.3s ease;
  }

  nav.sidebar.open {
    display: block;
  }

  nav.sidebar a {
    display: block;
    padding: 0.75rem 1rem;
    color: #fff;
    text-decoration: none;
  }

  nav.sidebar a:hover {
    background: #444;
  }

  .hamburger {
    display: inline-block;
    font-size: 1.5rem;
    margin-left: 1rem;
    cursor: pointer;
  }

  .main.shift {
    margin-left: 220px;
    transition: margin-left 0.3s ease;
  }

  .container {
    padding: 1rem;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* 👇 Inline buttons even on mobile */
  .controls {
    display: flex;
    flex-wrap: nowrap;       /* No wrapping */
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
  }

  .controls button,
  .controls select {
    flex: 0 0 auto;          /* Keep natural width */
    white-space: nowrap;
    font-size: 0.95rem;
  }

  /* Optional: Scrollbar appearance */
  .controls::-webkit-scrollbar {
    height: 4px;
  }

  .controls::-webkit-scrollbar-thumb {
    background: #999;
    border-radius: 2px;
  }

  /* Word-diff box overflow */
  #wordDiff {
    font-size: 13px;
    overflow-x: auto;
  }

  .toast-message {
    max-width: 95%;
    font-size: 0.9rem;
  }
}
