:root{
  --bg:#fbf6ee; --bg2:#f6efe4; --card:#fffaf2; --text:#2b241b; --muted:#6b5b4a;
  --border:#eadfce; --shadow:0 18px 40px rgba(43,36,27,.08); --radius:18px;
  --btn:#2b241b; --btnText:#fffaf2; --link:#8b6b4a; --accent:#c68b59;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--text);
  font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  background:
    radial-gradient(1000px 600px at 10% 0%, #fff2df 0%, transparent 60%),
    radial-gradient(900px 500px at 90% 10%, #f2e7d8 0%, transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, #ffffff 140%);
}
a{color:var(--link); text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(980px, 92vw); margin:0 auto; padding:18px 0}
.card{
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,250,242,1), rgba(246,239,228,.85));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
}
.h1{font-size: clamp(22px, 5vw, 34px); margin:0 0 8px; line-height:1.15}
.p{margin:0; color:var(--muted); line-height:1.7; font-size:14px}
.row{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.btn{
  border:1px solid var(--btn);
  background:var(--btn);
  color:var(--btnText);
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(43,36,27,.14);
  font-size:14px;
}
.btn.secondary{background:transparent; color:var(--text); border:1px solid rgba(43,36,27,.25); box-shadow:none}
.input{
  width:min(420px, 92vw);
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(234,223,206,.95);
  background:rgba(255,250,242,.85);
  font-size:15px;
  outline:none;
}
.badge{
  display:inline-flex; gap:8px; align-items:center;
  padding:6px 10px; border-radius:999px;
  border:1px solid rgba(198,139,89,.28);
  background:rgba(255,250,242,.75);
  color:var(--muted); font-size:12px;
}
.topbar{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(10px);
  background: rgba(251,246,238,.75);
  border-bottom: 1px solid rgba(234,223,206,.8);
}
.topbar .inner{width:min(980px,92vw); margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:10px 0}
.brand{display:flex; align-items:center; gap:10px; font-weight:800}
.logo{
  width:32px; height:32px; border-radius:12px;
  background: linear-gradient(135deg, #f0d7b8, #d9b38c);
  box-shadow: 0 10px 24px rgba(43,36,27,.12);
  position:relative;
}
.logo:after{content:"✨"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:15px; opacity:.9}
.small{font-size:12px; color:var(--muted); line-height:1.6}
hr.sep{border:none; border-top:1px solid rgba(234,223,206,.8); margin:14px 0}
.choice{
  display:flex; align-items:flex-start; gap:10px;
  border:1px solid rgba(234,223,206,.95);
  background:rgba(255,250,242,.85);
  border-radius:14px;
  padding:12px;
}
.choice input{margin-top:3px}
.notice{font-size:13px; color:var(--muted)}