/* Okumusashi Base - small personal site style */
:root{
  --bg:#f6f1e6;           /* kinari */
  --paper:#fffaf0;        /* warm paper */
  --ink:#1f2a24;          /* near-black green */
  --muted:#5b6b62;
  --accent:#2f4f3e;       /* deep green */
  --accent2:#7a5a3a;      /* wood brown */
  --border:#d9d0c0;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --radius:14px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:linear-gradient(180deg,var(--bg),#efe7d7);
  font-family: system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  line-height:1.85;
  letter-spacing:.02em;
}

a{color:var(--accent); text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{color:#244032}

.wrap{
  max-width: 920px;
  margin: 0 auto;
  padding: 28px 16px 48px;
}

header.site{
  background: rgba(255,255,255,.55);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px 18px 10px;
}

.brand{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
}
.brand .title{
  margin:0;
  font-size: 22px;
  letter-spacing:.06em;
}
.brand .tag{
  margin:0;
  color:var(--muted);
  font-size: 13px;
}

nav{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed var(--border);
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:14px;
}
nav a{
  display:inline-block;
  padding:6px 10px;
  border-radius: 999px;
  border:1px solid transparent;
}
nav a[aria-current="page"]{
  background: rgba(47,79,62,.10);
  border-color: rgba(47,79,62,.20);
  text-decoration:none;
}

main{
  margin-top:18px;
}

article{
  background: var(--paper);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px 18px;
}

article h1{
  margin:0 0 10px;
  font-size: 22px;
  line-height:1.35;
  letter-spacing:.05em;
}
article h2{
  margin:22px 0 10px;
  font-size: 16px;
  letter-spacing:.04em;
  border-left:4px solid rgba(47,79,62,.35);
  padding-left:10px;
}

.meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size: 13px;
  margin: 0 0 12px;
}
.meta time{white-space:nowrap}
.pill{
  display:inline-block;
  padding:2px 10px;
  border-radius:999px;
  background: rgba(122,90,58,.10);
  border:1px solid rgba(122,90,58,.20);
}

.note{
  background: rgba(47,79,62,.06);
  border:1px solid rgba(47,79,62,.18);
  border-radius: 12px;
  padding: 12px 12px;
  color:#2a3b33;
}

.list{
  margin: 10px 0 0;
  padding-left: 18px;
}
.list li{margin: 6px 0}

footer{
  margin-top: 16px;
  color: var(--muted);
  font-size: 13px;
  padding: 0 2px;
}
footer .line{
  border-top:1px dashed var(--border);
  margin-top:14px;
  padding-top:12px;
}

.small{
  font-size: 13px;
  color: var(--muted);
}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
}


