/* ======================================
   Base: Reset / Typography / Global
====================================== */

:root {
  /* Colors - Modern Japanese Aesthetic */
  --color-primary: #064e3b;   /* Deep Emerald */
  --color-primary-light: #34d399;
  --color-accent: #d4af37;    /* Gold */
  --color-bg: #fafafa;
  --color-surface: #ffffff;
  --color-text-main: #1e293b;
  --color-text-sub: #64748b;
  --color-border: rgba(148, 163, 184, 0.2);

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #059669, #10b981);
  --gradient-glow: radial-gradient(circle at center, rgba(16, 185, 129, 0.15), transparent 70%);

  /* Shadows */
  --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  --shadow-glow: 0 0 20px rgba(16, 185, 129, 0.3);
}

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px; /* Reset to standard 16px for better scaling, handled by rems */
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: "Noto Sans JP", system-ui, -apple-system, sans-serif;
  background-color: var(--color-bg);
  /* Subtle pattern or gradient */
  background-image: var(--gradient-glow);
  background-attachment: fixed;
  color: var(--color-text-main);
  min-height: 100vh;
  line-height: 1.8;
}

/* Japanese Headings */
.wf-mincho {
  font-family: "Shippori Mincho B1", "Yu Mincho", serif;
  font-weight: 700;
}

/* Utility: Mobile Line Break */
.sp-br {
  display: none;
}

@media (max-width: 768px) {
  .sp-br {
    display: block;
  }
}
