/* 全芯联储 · 设计规范：浅灰页面底 + 白色卡片 + 唯一强调色橙色（参照算力之光的版式）；涨红跌绿
   主要尺寸：内容区 1440px、卡片圆角 10px、区块标题 32px 特粗；按钮 35px 高、圆角 5px */
:root{
  --brand:#FF761A;--brand-d:#EE640A;--brand-l:#FF9A52;--brand-bg:#FFF2E8;--brand-bg2:#FFF8F3;--brand-line:rgba(255,118,26,.45);
  --page:#F5F5F5;--card:#FFFFFF;--soft:#F7F8FA;--soft2:#F0F1F4;
  --ink:#333333;--ink2:#666666;--ink3:#999999;--ink4:#BBBBBB;
  --line:#EFEFEF;--line2:#E2E2E2;
  --up:#F02D2D;--down:#10A452;
  --danger:#F02D2D;--ok:#10A452;
  --shadow:1px 4px 6px rgba(0,0,0,.07);--shadow2:0 10px 30px -8px rgba(0,0,0,.16);
  --sans:"Noto Sans CJK SC","Microsoft YaHei","微软雅黑","PingFang SC","Helvetica Neue",Helvetica,"Hiragino Sans GB",Arial,sans-serif;
  --num:"DIN Alternate","Bahnschrift","Helvetica Neue",Arial,var(--sans);
  --r:10px;--r-sm:5px;--wrap:1440px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--page);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--page);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
::selection{background:rgba(255,118,26,.22)}
.num{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none;--ic-acc:currentColor}
.up{color:var(--up)}.dn{color:var(--down)}.fl{color:var(--ink3)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--ink2)}.faint{color:var(--ink3)}.gold{color:var(--brand)}
.wrap{width:100%;max-width:calc(var(--wrap) + 40px);margin:0 auto;padding:0 20px;position:relative}
[hidden]{display:none!important}

/* 按钮（.gold 为主按钮：橙底白字；.line 橙色描边；.ghost 灰色描边） */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:35px;padding:0 18px;border-radius:var(--r-sm);border:1px solid transparent;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s;user-select:none}
.btn .ic{width:18px;height:18px}
.btn.lg{height:42px;padding:0 28px;font-size:16px}
.btn.sm{height:28px;padding:0 12px;font-size:13px}
.btn.block{display:flex;width:100%}
.btn.gold{background:var(--brand);color:#fff}
.btn.gold:hover{background:var(--brand-d)}
.btn.line{border-color:var(--brand);color:var(--brand);background:#fff}
.btn.line:hover{background:var(--brand-bg)}
.btn.ghost{border-color:var(--line2);color:var(--ink);background:#fff}
.btn.ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn.text{padding:0 4px;color:var(--ink2);font-weight:400}
.btn.text:hover{color:var(--brand)}
.btn.danger{border-color:rgba(240,45,45,.5);color:var(--danger);background:#fff}
.btn[disabled],.btn.is-busy{opacity:.5;pointer-events:none}
.pill{display:inline-flex;align-items:center;gap:2px;height:22px;padding:0 7px;border-radius:3px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pill.dn{background:rgba(16,164,82,.09);color:var(--down)}
.pill.up{background:rgba(240,45,45,.08);color:var(--up)}
.pill.fl{background:var(--soft2);color:var(--ink3)}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--line2);border-radius:3px;font-size:12px;color:var(--ink2);white-space:nowrap;background:#fff}
.tag.gold{border-color:var(--brand-line);color:var(--brand);background:var(--brand-bg2)}
.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--up);color:#fff;font-size:11px;font-weight:700;line-height:1}

/* 价格 */
.price{font-size:20px;font-weight:700;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums;white-space:nowrap}
.price small{font-size:.66em;margin-right:1px;font-weight:600}
.price.ask{font-size:16px}
.mprice{color:var(--ink3);text-decoration:line-through;font-size:13px}

/* 表单 */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field>label,.field .lab{font-size:13px;color:var(--ink2)}
.field .req::after,.lab.req::after,label.req::after{content:" *";color:var(--danger)}
.input,.select,.textarea{width:100%;height:40px;padding:0 12px;background:#fff;border:1px solid #DCDFE6;border-radius:4px;outline:0;transition:border-color .15s,box-shadow .15s;font-size:14px}
.textarea{height:auto;min-height:96px;padding:10px 12px;line-height:1.6;resize:vertical}
.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%),linear-gradient(135deg,var(--ink3) 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,118,26,.1)}
.input::placeholder,.textarea::placeholder{color:#B5B5B5}
.field.has-err .input,.field.has-err .select,.field.has-err .textarea{border-color:var(--danger)}
.err{font-size:12px;color:var(--danger)}
.help{font-size:12px;color:var(--ink3)}
.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--ink2)}
.check input{width:16px;height:16px;accent-color:var(--brand)}
.inline{display:flex;gap:10px}
.inline>*{flex:1}
