* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: no-preference) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
}
body {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  color: var(--text);
  background: var(--wall);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  position: relative;
  isolation: isolate;
  transition: background-color 0.4s ease, color 0.4s ease;
}

/* ============ Layout ============ */
.wrap {
  position: relative;
  z-index: 1;
  max-width: 430px;
  margin: 0 auto;
  padding: 16px 20px 48px;
}
