/* 会员系统 · 羊皮纸底，与官网同源 */
:root{
  --paper:#f3e6cb; --paper2:#ecdcbc; --ink:#2b2117; --ink2:#453525;
  --soft:#6d5a42; --faint:#9a8668; --rubric:#9a3520; --rule:rgba(69,53,37,.24);
  --kai:"KaiTi","STKaiti","Kaiti SC",serif;
  --song:"Songti SC","SimSun","Source Han Serif SC",serif;
  --sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;color:var(--ink);font:16px/1.75 var(--song);
  background:radial-gradient(120% 90% at 50% -10%,#f8eeda,#f3e6cb 45%,#e9d8b6);
  min-height:100vh;display:flex;flex-direction:column;
}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--rubric)}
.bar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 28px;border-bottom:1px solid var(--rule);
  background:rgba(248,238,218,.9);position:sticky;top:0;z-index:10;backdrop-filter:blur(6px);
}
.brand{font-family:var(--kai);font-size:19px;letter-spacing:.16em}
.brand i{display:block;font:9px/1 var(--sans);letter-spacing:.24em;color:var(--rubric);margin-top:4px;font-style:normal}
.bar nav{display:flex;align-items:center;gap:18px;font-size:14px}
.bar form{display:inline;margin:0}
.aslink{background:none;border:0;font:inherit;color:var(--soft);cursor:pointer;padding:0}
.aslink:hover{color:var(--rubric)}
.wrap{width:100%;max-width:960px;margin:0 auto;padding:34px 24px 70px;flex:1}
.foot{text-align:center;font-size:12px;color:var(--faint);padding:24px;border-top:1px solid var(--rule)}

h1{font-family:var(--kai);font-size:32px;font-weight:600;margin:0 0 8px;letter-spacing:.02em}
h2.sect{font-family:var(--kai);font-size:20px;margin:44px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--rule);font-weight:600}
.sub{color:var(--soft);font-size:14.5px;margin:0 0 22px}
.hint{color:var(--faint);font-size:13px;margin-top:8px}
.crumb{font-size:13px;color:var(--faint);margin:0 0 12px}
.tag{font:12px var(--sans);color:var(--soft);letter-spacing:.1em;vertical-align:middle}
.empty{color:var(--faint);font-size:14.5px;padding:16px 0}

.flash{padding:11px 16px;border:1px solid;font-size:14px;margin:0 0 20px}
.flash.ok{border-color:rgba(60,110,60,.4);background:rgba(90,140,80,.10);color:#37502e}
.flash.bad{border-color:rgba(154,53,32,.4);background:rgba(154,53,32,.08);color:var(--rubric)}

/* 表单 */
.row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin:0}
.wrap-row{align-items:flex-end}
label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--soft);letter-spacing:.04em}
input,select{
  font:15px var(--song);color:var(--ink);background:rgba(255,251,240,.7);
  border:1px solid var(--rule);padding:9px 11px;min-width:130px;border-radius:0;
}
input:focus,select:focus{outline:2px solid rgba(154,53,32,.25);border-color:var(--rubric)}
.btn{
  font:15px var(--song);letter-spacing:.08em;padding:10px 22px;cursor:pointer;
  background:var(--rubric);color:#fbf3e3;border:1px solid var(--rubric);
  transition:background .2s,color .2s;
}
.btn:hover{background:#7d2a19}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn.ghost:hover{background:rgba(43,33,23,.06);color:var(--ink)}
.tiny{min-width:64px;padding:5px 7px;font-size:13px}
.tiny.wide{min-width:96px}
.tiny-btn{padding:6px 12px;font-size:13px}
form.mini{display:flex;gap:6px;align-items:center;flex-wrap:wrap}

/* 卡片 */
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.mcard{border:1px solid var(--rule);background:rgba(255,251,240,.55);padding:20px 20px 18px}
.mcard-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.kind{font-size:11px;letter-spacing:.18em;color:var(--rubric);text-transform:uppercase}
.mcard h3{font-family:var(--kai);font-size:19px;margin:0 0 12px;font-weight:600}
.mcard .big{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:36px;line-height:1;margin:0;color:var(--ink);font-variant-numeric:tabular-nums}
.mcard .big small{font:12.5px var(--sans);color:var(--faint);margin-left:8px;letter-spacing:.04em}
.mcard .note{font-size:12.5px;color:var(--faint);margin:12px 0 0}
.status{font:11.5px var(--sans);letter-spacing:.08em;padding:2px 8px;border:1px solid}
.status.good{color:#3f6338;border-color:rgba(63,99,56,.35);background:rgba(90,140,80,.08)}
.status.warn{color:#8a5a12;border-color:rgba(138,90,18,.35);background:rgba(200,160,60,.10)}
.status.bad{color:var(--rubric);border-color:rgba(154,53,32,.35);background:rgba(154,53,32,.07)}

/* 表格 */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{text-align:left;font:11px var(--sans);letter-spacing:.16em;text-transform:uppercase;
  color:var(--rubric);padding:0 12px 10px 0;border-bottom:1px solid rgba(69,53,37,.4)}
.tbl td{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl tr:hover td{background:rgba(255,251,240,.45)}
.mono{font-variant-numeric:tabular-nums;font-size:13.5px}
.small{font-size:12.5px;color:var(--soft)}
.plus{color:#3f6338}
.minus{color:var(--rubric)}
.csv{float:right;font:12.5px var(--sans);color:var(--soft);border-bottom:1px solid var(--rule)}

/* 登录 */
.loginbox{max-width:380px;margin:8vh auto 0;border:1px solid var(--rule);padding:38px 34px;background:rgba(255,251,240,.5)}
.loginbox h1{font-size:26px;margin-bottom:6px}
.stack{display:flex;flex-direction:column;gap:18px;margin-top:26px}
.stack .btn{width:100%}

@media (max-width:620px){
  .wrap{padding:22px 16px 60px}
  .bar{padding:12px 16px;flex-wrap:wrap}
  h1{font-size:26px}
  .cardgrid{grid-template-columns:1fr}
  .tbl{font-size:13px}
}

details.editbox{margin-top:8px}
details.editbox summary{cursor:pointer;font-size:12px;color:var(--faint);list-style:none}
details.editbox summary::-webkit-details-marker{display:none}
details.editbox summary:hover{color:var(--rubric)}
details.editbox[open] summary{margin-bottom:8px}

