:root{
  --bg:#FAF5EF; --terra:#B85C38; --gold:#C99A3F; --ink:#3A2E28; --card:#FFFDF9;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Noto Serif SC","Songti SC",serif;line-height:1.7}
a{color:var(--terra);text-decoration:none}
.site-header{display:flex;justify-content:space-between;align-items:center;
  padding:14px 20px;border-bottom:2px solid var(--gold);background:var(--card)}
.brand{font-size:20px;font-weight:900;color:var(--terra)}
.site-header nav a{margin-left:16px;font-weight:700}
main{max-width:960px;margin:0 auto;padding:24px 16px 48px}
.hero{text-align:center;padding:36px 10px}
.hero h1{font-size:38px;font-weight:900;color:var(--terra);margin:8px 0}
.hero p{font-size:17px}
.btn{display:inline-block;background:var(--terra);color:#fff;padding:12px 28px;
  border-radius:999px;font-size:17px;font-weight:700;border:none;cursor:pointer}
.btn.gold{background:var(--gold)}
.btn.small{padding:6px 16px;font-size:14px}
section{margin:36px 0}
h2{color:var(--terra);border-left:5px solid var(--gold);padding-left:10px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border:1px solid #EADfC8;border-radius:14px;padding:18px;
  box-shadow:0 2px 8px rgba(184,92,56,.08)}
.card img{width:100%;border-radius:10px}
.tag{display:inline-block;background:var(--gold);color:#fff;border-radius:6px;
  padding:1px 8px;font-size:12px;margin-left:6px}
form .field{margin:14px 0}
label{font-weight:700;display:block;margin-bottom:4px}
input[type=text],input[type=password],input[type=number],select,textarea{
  width:100%;padding:10px;border:1px solid #D8C9AE;border-radius:8px;
  font-family:inherit;font-size:15px;background:#fff}
textarea{rows:3}
.flash{background:#FDF0E4;border:1px solid var(--gold);border-radius:10px;padding:8px 16px;margin:12px 0}
table{width:100%;border-collapse:collapse;background:var(--card)}
th,td{border:1px solid #EADfC8;padding:8px;text-align:left;font-size:14px}
th{background:#F5EAD3}
pre.brief{white-space:pre-wrap;background:#fff;border:1px dashed var(--terra);
  border-radius:10px;padding:16px;font-family:inherit}
audio{width:100%;margin:6px 0}
.lyrics{white-space:pre-wrap;background:var(--card);border-radius:12px;padding:20px}
.site-footer{text-align:center;padding:24px;color:#8a7a6a;border-top:1px solid #EADfC8}
