/* ═══════════════════════════════════════════════════════
   RESPONSIVE — tablet simplifies, mobile becomes dock-driven
   ═══════════════════════════════════════════════════════ */

/* ── Tablet ── */
@media (max-width: 1024px) {
  .hud { padding: 18px 22px; }
  .hud__status .hud__clock { display: none; }

  .os-window {
    width: min(640px, calc(100vw - 32px));
  }
}

/* ── Mobile / touch-first ── */
@media (max-width: 768px), (pointer: coarse) and (max-width: 1024px) {
  input, textarea { cursor: text; }

  .tooltip,
  .compass,
  .hint { display: none !important; }

  .hud { padding: 16px 18px; }
  .hud__status { display: none; }
  .hud__name { font-size: 0.72rem; }

  /* Windows become full sheets */
  .os-window {
    left: 10px !important;
    right: 10px !important;
    top: 64px !important;
    width: auto;
    /* Clears the now-smaller, lower dock (bottom: 16px) below it. */
    max-height: calc(100dvh - 64px - 70px);
    border-radius: 16px;
  }

  .os-window__content { padding: 20px 18px; }

  /* Title bar is tight on a phone-width window — drop the purely
     decorative bits so the title has room to breathe and __closebtn
     never gets crowded/pushed toward the clipped edge. */
  .os-window__bar { gap: 8px; padding: 12px 14px; }
  .os-window__title .path,
  .os-window__signal { display: none; }

  .project-card__grid,
  .contact-grid { grid-template-columns: 1fr; }

  .project-card__metrics { flex-wrap: wrap; gap: 16px; }

  .about-head { flex-direction: column; text-align: center; align-items: center; }

  .sec-lead { font-size: 0.86rem; }

  .boot__core { gap: 26px; }
  .boot__terminal { height: 110px; font-size: 0.6rem; }
}

/* ── Short screens ── */
@media (max-height: 560px) {
  .boot__name { font-size: 1.2rem; }
  .boot__terminal { height: 80px; }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .boot__motes,
  .boot__identity-glow,
  .boot__name-rule,
  .boot__enter-glow {
    animation: none !important;
  }
}
