/* Reset + 全域 */
*,*::before,*::after{box-sizing:border-box;}
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font);
  font-size:var(--fs-body);
  color:var(--c-ink);
  line-height:1.65;
  background:
    radial-gradient(circle at 12% 8%, var(--c-transport-soft) 0, transparent 38%),
    radial-gradient(circle at 88% 92%, var(--c-scenery-soft) 0, transparent 38%),
    var(--c-bg);
  background-attachment:fixed;
  min-height:100vh;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,p{margin:0 0 .5em;}
ul{margin:0;padding-left:1.2em;}

.wrap{max-width:1000px;margin:0 auto;padding:var(--space-lg);}
.center{text-align:center;}
.muted{color:var(--c-ink-soft);}
.emoji{font-style:normal;}

/* 頁首 */
.page-head{ text-align:center; padding:var(--space-lg) 0 var(--space); }
.page-head h1{ font-size:var(--fs-display); letter-spacing:1px; }
.page-head p{ color:var(--c-ink-soft); }

/* 返回列 */
.topbar{
  display:flex; align-items:center; gap:.5rem;
  padding:var(--space) var(--space-lg);
  max-width:1000px; margin:0 auto;
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}
