/* 三端共用（sis.mom / 小程序 / sis.autos）：一份 token 表 + 基础元素。规则见 docs/DESIGN.md（v17.2），设计稿 design/sis.pen。
   组件直接写用途变量（--ink / --sub / --gold …），不再有 --accent。金色只标锁定；红色只做品牌和警示；主按钮墨黑（夜间白底黑字）。 */
:root{ /* 白天 */
  --bg:#FFFFFF; --s1:#F6F6F8; --s2:#EFEFF2; --s3:#E3E3E8;
  --ink:#0B0B0C; --sub:#6B6B73; --ter:#A1A1A8; --line:#ECECEF;
  --gold:#9C7B3C; --up:#14996A; --down:#DE6A12; --warn:#D41E28; --brand:#C8141E;
  --btn-bg:var(--ink); --btn-fg:var(--bg);
  --r-s:8px; --r-m:12px; --r:16px; --r-l:20px;
  --ease:cubic-bezier(.2,.7,.2,1); --t-roll:400ms; --t-sheet:280ms;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --g:20px; --safe-b:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px));
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#000000; --s1:#111113; --s2:#1B1B1E; --s3:#26262A;
  --ink:#FFFFFF; --sub:#8B8B91; --ter:#55555B; --line:#1F1F23;
  --gold:#D6B676; --up:#2EBD85; --down:#F0883E; --warn:#E5262F;
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100vh}
body.locked{overflow:hidden}
h1,h2,h3,p{margin:0}
h1{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:17px;line-height:1.35;font-weight:600}
h3{font-size:15px;font-weight:600}
button,input,textarea{font:inherit;color:inherit}
a{color:var(--ink)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* 数字一律等宽 + 等宽数位 */
.num,.mono,code,pre{font-family:var(--mono);font-variant-numeric:tabular-nums}
.mono{font-size:13px}
.muted{color:var(--sub)}
.ter{color:var(--ter)}
.small{font-size:13px}
.fine{font-size:12px;line-height:1.5;color:var(--sub)}
.center{text-align:center}
.lede{font-size:15px;line-height:1.6;color:var(--sub)}
.up{color:var(--up)}.down{color:var(--down)}.warn{color:var(--warn)}
.grow{flex:1}

/* 按钮：主按钮墨黑；次按钮描边；红色永远不当按钮 */
.btn{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 20px;border-radius:var(--r-m);background:var(--s2);color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}
.btn.primary{background:var(--btn-bg);color:var(--btn-fg)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--s3)}
.btn.small{width:auto;min-height:36px;padding:0 14px;border-radius:var(--r-s);font-size:13px}
.btn.wide{width:100%}
.btn:disabled{opacity:.4;cursor:default}
.btn svg{width:16px;height:16px}
.link{background:none;border:0;padding:0;color:var(--ink);font-weight:500;cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--s3)}

/* 卡片、状态点、列表 */
.card{background:var(--s1);border-radius:var(--r-m);padding:16px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.card-head h2,.card-head h3{flex:1}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--sub);white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ter)}
.pill.up::before{background:var(--up)}.pill.down::before{background:var(--down)}
.list{list-style:none;margin:0;padding:0}
.list>li{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}
.list>li:first-child{border-top:0}
ul.dots{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.kv{display:flex;align-items:baseline;gap:8px;margin:4px 0 8px}
.kv b{font-size:20px;font-weight:600}
.kv .pill{margin-left:auto}

/* 输入 */
input.amt,textarea{width:100%;min-height:48px;border:1px solid transparent;border-radius:var(--r-s);background:var(--s2);color:var(--ink);padding:0 14px;font-size:15px}
input.amt[type=number]{font-family:var(--mono)}
textarea{padding:12px 14px;min-height:96px;line-height:1.5;resize:none}
input.amt:focus,textarea:focus{outline:none;border-color:var(--gold)}
input::placeholder,textarea::placeholder{color:var(--ter)}
input.small-in{margin:6px 0}
code{display:block;font-size:11px;line-height:1.5;word-break:break-all;background:var(--s2);border-radius:var(--r-s);padding:8px 10px}

/* 加载骨架（流光） */
.sk{height:96px;border-radius:var(--r-m);background:linear-gradient(90deg,var(--s1) 25%,var(--s2) 50%,var(--s1) 75%);background-size:200% 100%;animation:sk 1.3s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
