* {
  box-sizing: border-box;
}

/* Layout */
main.home {
  max-width: 680px;
  margin: 0 auto;
  padding: 80px 24px 120px;
}

/* Intro */
.forming-note {
  font-size: 0.9rem;
  color: #8a8a8a;
  margin-bottom: 48px;
  font-style: italic;
}


.lead {
  font-size: 1.4rem;
  margin-bottom: 72px;
}

/* Contents */
.section-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #7a7a7a;
  margin-bottom: 24px;
}


.contents ul {
  list-style: none;
  padding: 0;
  margin: 0 0 72px 0;
}

.contents li {
  font-size: 1.05rem;
  margin-bottom: 18px;
}

/* Closing */
.timestamp {
  font-size: 0.8rem;
  color: #888;
  margin-top: 48px;
}

/* Responsive */
@media (max-width: 600px) {
  .lead {
    font-size: 1.25rem;
  }
}

/* -------------------------------------
   Scroll Page
------------------------------------- */

.scroll-page {
  max-width: 680px;
  margin: 0 auto;
  padding: 80px 24px;
}

.scroll-block {
  min-height: 80vh;
  display: flex;
  align-items: center;
}

.scroll-block p {
  font-size: 1.4rem;
  max-width: 520px;
}

.scroll-block.end {
  min-height: 60vh;
  align-items: flex-start;
}

@media (max-width: 600px) {
  .scroll-block p {
    font-size: 1.25rem;
  }
}

/* -------------------------------------
   Now Page (Time-Aware)
------------------------------------- */

.now-page {
  max-width: 680px;
  margin: 0 auto;
  padding: 120px 24px;
}

.now-block {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.now-main {
  font-size: 1.6rem;
  margin-bottom: 24px;
}

.now-sub {
  font-size: 1.05rem;
  color: #555;
  max-width: 520px;
}

@media (max-width: 600px) {
  .now-main {
    font-size: 1.4rem;
  }
}
/* -------------------------------------
   One Perfect Explanation
------------------------------------- */

.explain-page {
  max-width: 680px;
  margin: 0 auto;
  padding: 100px 24px;
}

.explain-block p {
  font-size: 1.05rem;
  max-width: 520px;
  margin-bottom: 28px;
}

.explain-lead {
  font-size: 1.4rem;
  margin-bottom: 48px;
}

@media (max-width: 600px) {
  .explain-lead {
    font-size: 1.25rem;
  }
}
/* -------------------------------------
   Quiet Page (Hidden)
------------------------------------- */

.quiet-page {
  max-width: 680px;
  margin: 0 auto;
  padding: 120px 24px;
}

.quiet-block p {
  font-size: 1.05rem;
  max-width: 520px;
  margin-bottom: 36px;
}
/* -------------------------------------
   Minimal Navigation
------------------------------------- */

.site-header {
  max-width: 680px;
  margin: 0 auto;
  padding: 32px 24px 0;
}

.site-nav {
  display: flex;
  gap: 24px;
}

.site-nav a {
  font-size: 0.9rem;
  color: #666;
  text-decoration: none;
}

.site-nav a:hover {
  color: #222;
}
body {
  margin: 0;
  background-color: #111;
  background-image: var(--bg-image);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: #2a2a2a;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.7;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.65);
  z-index: -1;
}
main {
  background: rgba(245, 245, 243, 0.94);
backdrop-filter: blur(1.5px);
  border-radius: 4px;
  box-shadow:
filter: saturate(0.98) contrast(0.98);
    0 10px 40px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.4);
}
.invitation {
  margin-top: 48px;
  font-size: 1rem;
  color: #444;
}

.invitation a {
  color: #555;
  text-decoration: underline;
  text-decoration-color: rgba(0,0,0,0.25);
}

.invitation a:hover {
  color: #222;
  text-decoration-color: rgba(0,0,0,0.6);
}
@keyframes subtleDrift {
  0%   { background-position: 50% 50%; }
  100% { background-position: 52% 48%; }
}

body {
  animation: subtleDrift 120s linear infinite alternate;
}
