:root{
  --bg:#fff8f2;
  --accent:#ff8a3d;
  --accent-2:#ffd6ad;
  --text:#2b2b2b;
  --muted:#6b7280;
  --card:#ffffff;
  --radius:14px;
  --max:960px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic UI","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 450px at 100% -10%, rgba(255, 214, 173, .35), transparent 60%),
    radial-gradient(800px 400px at 0% 0%, rgba(255, 138, 61, .18), transparent 60%),
    var(--bg);
  line-height:1.8;
}
.container{max-width:var(--max);margin:0 auto;padding:22px 18px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.brand{font-weight:800;letter-spacing:.2px;color:#a64b00;text-decoration:none}
.links a{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:10px}
.links a:hover{background:rgba(255,138,61,.10)}
.hero{
  background:linear-gradient(180deg, rgba(255,214,173,.40), rgba(255,138,61,.10));
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
h1{font-size:clamp(24px,4.6vw,40px);margin:0 0 6px}
.sub{color:var(--muted);margin:0 0 14px}
.buttons{display:flex;gap:8px;flex-wrap:wrap}
.button{
  display:inline-block;background:#fff;border:1px solid rgba(0,0,0,.08);
  padding:8px 12px;border-radius:12px;text-decoration:none;color:var(--text);
  font-size:14px;box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.button.primary{
  background:linear-gradient(180deg,var(--accent),#ffa765);
  color:#3a220f;font-weight:700;border:none;box-shadow:0 6px 18px rgba(255,138,61,.28);
}
.section{margin-top:22px}
.card{
  background:var(--card);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);
  padding:16px;box-shadow:0 1px 10px rgba(0,0,0,.05);
}
.list-links{margin:8px 0 0 0;padding-left:18px}
footer{margin:28px 0 16px;text-align:center;color:#7a7a7a;font-size:14px}
.notice{background:#fff;border-left:3px solid var(--accent);padding:10px 12px;border-radius:10px}
.small{font-size:12px;color:#777}

/* --- prominent 4-button group --- */
.button-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.button.active{
  background:linear-gradient(180deg,#ffb37a,#ff8a3d);
  color:#3a220f !important;
  border:none;
  box-shadow:0 6px 18px rgba(255,138,61,.28);
  pointer-events:none;
  opacity:1;
}
/* default button looks */
.button{transition:transform .02s ease}
.button:active{transform:translateY(1px)}
/* --- errata table borders --- */
.page-content table{border-collapse:collapse !important;border:1px solid #d9a878}
.page-content th, .page-content td{border:1px solid #d9a878 !important;padding:.4em .6em}
.page-content th{background:#fff3e6}

/* --- header brand as simple logo --- */
.nav .brand{font-size:18px;font-weight:800;color:#a64b00;text-decoration:none}
@media (max-width:600px){ .nav .brand{font-size:16px} }

/* --- about page readability tweaks --- */
.page-content blockquote{
  border-left:4px solid #d9a878;
  background:#fffaf5;
  padding:.6em 1em;
  margin:1em 0;
  font-style:italic;
}
.page-content ul{ list-style:none; padding-left:0; margin-left:0; }
.page-content li{ margin-left:0; }

/* --- spacing before list numbers in about page --- */
.page-content li {
  padding-left: 0.4em;
}
.page-content li::marker {
  padding-right: 0.4em;
}
