/* ui-kit/base.css — reset + 排版 + 基础组件类（button/card/文本）。只用语义/组件令牌。 */
*{ box-sizing:border-box; }
html,body{ margin:0; }
html{ min-height:100%; }
body{ font:15px/1.6 -apple-system,system-ui,"PingFang SC","Microsoft YaHei",sans-serif;
  min-height:100vh;
  color:var(--wc-color-text);
  background:
    radial-gradient(120% 120% at 12% 2%, color-mix(in srgb, var(--wc-color-primary) 16%, transparent), transparent 46%),
    radial-gradient(90% 110% at 88% 8%, color-mix(in srgb, var(--wc-color-primary) 10%, transparent), transparent 44%),
    linear-gradient(180deg, color-mix(in srgb, var(--wc-color-bg) 84%, white), var(--wc-color-bg));
  -webkit-font-smoothing:antialiased; }
h1,h2,h3{ margin:0 0 8px; letter-spacing:-.2px; }
.boot{ display:flex; align-items:center; justify-content:center; min-height:60vh; color:var(--wc-color-sub); }
.sub{ color:var(--wc-color-sub); font-size:13px; }
.faint{ color:var(--wc-color-faint); }
.wc-scene{ position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.wc-scene__orb,
.wc-scene__beam,
.wc-scene__mesh{ position:absolute; }
.wc-scene__orb{ border-radius:999px; filter:blur(80px); opacity:.56; transform:translateZ(0); }
.wc-scene__orb--a{ top:-18vh; left:-8vw; width:36vw; height:36vw;
  background:radial-gradient(circle, color-mix(in srgb, var(--wc-color-primary) 34%, white), transparent 72%); }
.wc-scene__orb--b{ top:18vh; right:-10vw; width:30vw; height:30vw;
  background:radial-gradient(circle, color-mix(in srgb, var(--wc-color-primary) 18%, white), transparent 70%); }
.wc-scene__orb--c{ bottom:-16vh; left:28vw; width:34vw; height:34vw;
  background:radial-gradient(circle, color-mix(in srgb, var(--wc-color-primary) 14%, #f5f7ff), transparent 74%); }
.wc-scene__beam{ width:180px; height:42vh; opacity:.26; filter:blur(18px); mix-blend-mode:screen; }
.wc-scene__beam--a{ top:-10vh; right:22vw;
  background:linear-gradient(180deg, color-mix(in srgb, white 62%, transparent), transparent 82%);
  transform:rotate(16deg); }
.wc-scene__beam--b{ bottom:-12vh; left:12vw;
  background:linear-gradient(180deg, color-mix(in srgb, var(--wc-color-primary) 26%, white), transparent 84%);
  transform:rotate(-14deg); }
.wc-scene__mesh{ inset:0; opacity:.08;
  background-image:
    radial-gradient(circle at 20% 24%, rgba(255,255,255,.74) 0 2px, transparent 2px),
    radial-gradient(circle at 72% 40%, rgba(255,255,255,.5) 0 1.5px, transparent 1.5px),
    radial-gradient(circle at 48% 72%, rgba(255,255,255,.42) 0 1.2px, transparent 1.2px);
  background-size:260px 260px, 320px 320px, 220px 220px;
}
/* 卡片 */
.wc-card{ background:var(--wc-color-surface); border:1px solid var(--wc-color-border);
  border-radius:var(--wc-r-lg); padding:var(--wc-card-pad); box-shadow:var(--wc-sh); }
.wc-card + .wc-card{ margin-top:var(--wc-gap); }
/* 按钮 */
.wc-btn{ height:var(--wc-btn-h); padding:0 16px; border-radius:var(--wc-r);
  border:1px solid var(--wc-color-border); background:var(--wc-color-surface); color:var(--wc-color-text);
  cursor:pointer; font-size:14px; font-weight:600; transition:filter var(--wc-dur) var(--wc-ease); }
.wc-btn--primary{ background:var(--wc-color-primary); color:var(--wc-color-on-primary); border-color:transparent; }
@media(hover:hover){ .wc-btn:hover{ filter:brightness(1.04); } }
.wc-chip{ display:inline-block; padding:2px 10px; border-radius:var(--wc-r-pill);
  background:var(--wc-color-surface-2); color:var(--wc-color-sub); font-size:12px; }
.wc-hero{ background:var(--wc-g-brand); color:var(--wc-color-on-primary); border-radius:var(--wc-r-lg); padding:22px; }
/* 内联轮廓图标（Warm Editorial Outline，emoji 自动替换而来）
   宽高由 svg 属性 1em 决定，随文字大小缩放；此处只管对齐与不被 flex 压扁。 */
.wc-eicon{ display:inline-block; vertical-align:-0.14em; flex:0 0 auto; overflow:visible; }
