:root{
  --bg:#f6f1ea; --surface:#fffdfa; --ink:#2c2622; --soft:#8a8077; --line:#e7ddd0;
  --accent:#c98a5e; --accent-ink:#fff; --radius:14px; --shadow:0 6px 24px rgba(80,60,40,.10);
  --maxw:680px; --gap:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);padding:24px 16px}
.wrap,main{max-width:var(--maxw);margin:0 auto}
h1,h2,h3{line-height:1.25;margin:0 0 .5em;font-weight:700}
h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
small,.muted{color:var(--soft);font-size:.875rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:var(--gap)}
button,.btn{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:10px 18px;background:var(--accent);color:var(--accent-ink);font-weight:600;transition:filter .18s,transform .18s}
button:hover,.btn:hover{filter:brightness(1.07)}
button:active,.btn:active{transform:translateY(1px)}
button.secondary,.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}
button:disabled{opacity:.5;cursor:default}
input,textarea,select{font:inherit;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);transition:border-color .18s,box-shadow .18s}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
label{display:block;font-size:.9rem;color:var(--soft);margin-bottom:6px}
ul,ol{padding-left:1.2em;margin:0 0 1em}li{margin:.3em 0}
hr{border:none;border-top:1px solid var(--line);margin:1.2em 0}
table{width:100%;border-collapse:collapse}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
th{color:var(--soft);font-weight:600;font-size:.9rem}
.row{display:flex;gap:10px;align-items:center}
.center{text-align:center}
.stack>*+*{margin-top:var(--gap)}
@media(max-width:600px){body{padding:16px 12px}h1{font-size:1.5rem}}