/* ============================================================
   ACE俱乐部 · 洛可可皮肤（沿用 qimingjiu/Trianon 的设计语言）
   色值取自 Trianon：--iv #FBF9F4 / --mist #9FB2CF / --mist2 #C9D5E6
                    --silver #D9DEE6 / --haze #7888A8 / --ink #24305A
   标题字体：TrianonPlayfair（font.css 内嵌，同仓库字体）
   ============================================================ */
:root{
  --iv:#FBF9F4; --paper:#FFFEFB;
  --mist:#9FB2CF; --mist2:#C9D5E6; --silver:#D9DEE6; --haze:#7888A8;
  --ink:#24305A; --ink2:#4A5578; --sub:#8494AE;
  --line:#D9DEE6; --line2:rgba(159,178,207,.45);
  --seal:#8C3B3B; --seal2:#A85050; --gold:#B08D57;
  --serif:'TrianonPlayfair',"Songti SC","Noto Serif SC",Georgia,serif;
}
html,body{margin:0;padding:0}
body{
  font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink); background:var(--iv); min-height:100vh;
  background-image:
    radial-gradient(1200px 620px at 92% -18%, rgba(201,213,230,.55), transparent 62%),
    radial-gradient(980px 600px at -16% 6%, rgba(159,178,207,.32), transparent 60%),
    radial-gradient(800px 760px at 52% 116%, rgba(217,222,230,.5), transparent 66%),
    repeating-linear-gradient(0deg, rgba(159,178,207,.06) 0 1px, transparent 1px 5px);
  background-attachment:fixed;
  padding-bottom:env(safe-area-inset-bottom);
  -webkit-font-smoothing:antialiased;
  letter-spacing:.2px;
}
a{color:var(--ink)}
.wrap{max-width:520px;margin:0 auto;padding:14px 14px 96px}

/* —— 信笺卡：奶白纸、单细线外框 + 内嵌细线 —— */
.card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:5px;
  box-shadow:
    0 1px 0 #fff inset,
    0 0 0 4px rgba(251,249,244,.85),
    0 14px 30px -22px rgba(36,48,90,.55);
  position:relative;
}
.card::after{
  content:"";position:absolute;inset:3px;border:1px solid rgba(159,178,207,.28);
  border-radius:3px;pointer-events:none;
}
.card>.pad,.card.pad{padding:16px}
.pad{padding:16px}

/* —— 标题：Playfair + 极宽字距 + 金色小花 —— */
.title{
  font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:2.2px;
  color:var(--ink);display:flex;align-items:center;
}
.title::before{content:"❧";color:var(--gold);font-size:14px;margin-right:8px;letter-spacing:0}
.muted{color:var(--sub)}
.small{font-size:12.5px}
.tiny{font-size:11.5px;letter-spacing:.4px}
.row{display:flex;align-items:center;gap:10px}
.between{display:flex;align-items:center;justify-content:space-between;gap:10px}

/* —— 按钮：票根（窄圆角 + 虚线内框 + 烫金字距） —— */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;
  padding:11px 20px;border:1px solid var(--mist);border-radius:3px;
  font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:1.4px;
  color:var(--ink);background:linear-gradient(180deg,#FFFEFB,#F4F2EA);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9), 0 2px 0 rgba(159,178,207,.35),
             0 10px 22px -18px rgba(36,48,90,.7);
  text-decoration:none;
}
.btn:active{transform:translateY(1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9)}
.btn.ghost{background:transparent;border:1px solid var(--mist2);box-shadow:none;color:var(--ink2)}
.btn.dark{background:linear-gradient(180deg,#2E3B67,#24305A);border-color:#1D2749;color:#F7F4EA;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 20px -14px rgba(36,48,90,.9)}
.btn.wide{width:100%}
.btn.sm{padding:7px 14px;font-size:13px;border-radius:2px;letter-spacing:1px}

/* —— 输入：纸面下划线感 —— */
input,select,textarea{
  width:100%;font:inherit;color:var(--ink);background:#FFFDF8;
  border:1px solid var(--line);border-radius:3px;padding:11px 12px;outline:none;
  box-shadow:inset 0 1px 2px rgba(36,48,90,.04);
  -webkit-appearance:none;appearance:none;
}
select{background-image:linear-gradient(45deg,transparent 50%,var(--haze) 50%),linear-gradient(135deg,var(--haze) 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}
input:focus,select:focus,textarea:focus{border-color:var(--mist);box-shadow:0 0 0 3px rgba(159,178,207,.22)}
label.f{display:block;margin:14px 0 6px;font-size:12px;color:var(--sub);
  letter-spacing:1.4px;font-weight:600;text-transform:none}

/* —— 提示条 —— */
.err{background:#FAF1F0;color:var(--seal);border:1px solid rgba(140,59,59,.28);border-radius:3px;padding:10px 12px;font-size:13.5px}
.ok{background:#F2F5F0;color:#3F6B4A;border:1px solid rgba(63,107,74,.24);border-radius:3px;padding:10px 12px;font-size:13.5px}

/* —— 火漆印章 & 金色评分章 —— */
.badge{
  display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;
  font-size:11px;font-weight:700;letter-spacing:1px;border:1px solid transparent;
  font-family:var(--serif);
}
.badge.shop{
  background:radial-gradient(circle at 32% 26%, var(--seal2), var(--seal) 72%);
  color:#FBF3E6;border:1px dashed rgba(255,255,255,.45);
  box-shadow:0 2px 7px -3px rgba(140,59,59,.85), inset 0 1px 0 rgba(255,255,255,.3);
  border-radius:50%;padding:5px 6px;min-width:34px;min-height:34px;justify-content:center;
  font-size:10px;line-height:1.1;
}
.badge.score{
  background:linear-gradient(180deg,#DCC08A,var(--gold));color:#3A2C14;
  border-color:rgba(255,255,255,.5);
  box-shadow:0 2px 7px -3px rgba(176,141,87,.85), inset 0 1px 0 rgba(255,255,255,.45);
}
.badge.on{background:transparent;color:var(--haze);border:1px solid var(--mist2);border-style:dashed}

/* —— 吊牌标签 —— */
.tag{
  display:inline-block;padding:3px 9px 3px 14px;border-radius:2px;font-size:11.5px;color:var(--ink2);
  background:#FFFEFB;border:1px solid var(--line);position:relative;letter-spacing:.6px;
}
.tag::before{content:"";position:absolute;left:5px;top:50%;transform:translateY(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--mist2);box-shadow:inset 0 0 0 1px var(--line2)}

/* —— 底部导航 —— */
.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:space-around;
  padding:9px 6px calc(9px + env(safe-area-inset-bottom));
  background:rgba(251,249,244,.96);border-top:1px solid var(--line);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;
  color:var(--sub);letter-spacing:1px}
.tabbar a.active{color:var(--ink);font-weight:700}

/* —— 头像框：纸边 —— */
.avatar,.head img{border:1px solid var(--line);border-radius:4px;background:#F4F2EA}
.thumb img{border:1px solid var(--line);border-radius:4px}

/* 小装饰：分隔线 */
.rule{display:flex;align-items:center;gap:10px;color:var(--gold);font-size:10px;margin:12px 0}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:var(--line2)}
