:root {
  --bg: #fbf3e4;
  --dark: #241a34;
  --dark-2: #1c1428;
  --ink: #2e2140;
  --ink-body: #5c4b38;
  --ink-soft: #6b5d49;
  --violet: #7a4fd6;
  --orange: #ef7a2b;
  --orange-deep: #c85511;
  --line: rgba(58,43,30,0.12);
  --line-dark: rgba(255,255,255,0.12);
  --maxw: 820px;
}
* { box-sizing: border-box; }
body { margin:0; background: var(--bg); color: var(--ink-body); font-family:'Mulish', system-ui, -apple-system, sans-serif; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-family:'Fredoka', 'Mulish', system-ui, sans-serif; font-weight:700; color: var(--ink); line-height:1.2; }
a { color: var(--orange); text-decoration:none; }
a:hover { color: var(--orange-deep); }
header.site { position:sticky; top:0; z-index:100; background:rgba(24,16,34,.92); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.1); }
header.site .wrap { display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1160px; margin:0 auto; }
header.site .brand img { height:44px; width:auto; }
header.site a.back { color:#fff; font-weight:600; font-size:15px; }
main.wrap { max-width: var(--maxw); margin:0 auto; padding:64px 32px 96px; }
main.wrap h1 { font-size:clamp(1.9rem,4vw,2.6rem); margin-bottom:8px; }
main.wrap .meta { color:#8a7a5c; font-size:14px; margin-bottom:32px; }
main.wrap .summary { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; font-size:15px; color: var(--ink-soft); margin-bottom:40px; }
main.wrap h2 { font-size:22px; margin:40px 0 12px; }
main.wrap p, main.wrap li { font-size:16px; color: var(--ink-body); }
main.wrap ul, main.wrap ol { padding-left:22px; }
main.wrap table { width:100%; border-collapse:collapse; margin:16px 0; font-size:15px; }
main.wrap th, main.wrap td { text-align:left; padding:10px 12px; border:1px solid var(--line); vertical-align:top; }
main.wrap th { background:#f4ecdb; font-family:'Fredoka',sans-serif; }
main.wrap hr { border:none; border-top:1px solid var(--line); margin:32px 0; }
main.wrap code { background:#f4ecdb; padding:1px 6px; border-radius:5px; font-size:14px; }
footer.site { background: var(--dark-2); padding:32px 0; margin-top:40px; }
footer.site .wrap { max-width:1160px; margin:0 auto; padding:0 32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
footer.site .copy { color:#8a7ea3; font-size:14px; }
footer.site nav a { color:#c9c0e0; font-size:15px; margin-left:18px; }
