/* onelink 站点公共样式 · 三套配色：薄荷汽水（默认）/ 草莓苏打 / 香芋柠檬 */
@font-face { font-family: 'Unbounded'; font-weight: 500; font-display: swap; src: url(/fonts/unbounded-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Unbounded'; font-weight: 700; font-display: swap; src: url(/fonts/unbounded-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'Unbounded'; font-weight: 900; font-display: swap; src: url(/fonts/unbounded-latin-900-normal.woff2) format('woff2'); }

:root {
  /* ===== 配色「薄荷汽水」（默认） ===== */
  /* 底色：薄荷冰 */
  --bg: #effff8;
  --bg-rgb: 239 255 248;
  --surface: #ffffff;
  --glass: rgba(255,255,255,.72);
  /* 文字：墨绿，比纯黑更清新 */
  --text: #0f2a22;
  --ink-rgb: 15 42 34;
  --muted: #5d7a70;
  --placeholder: #a5bdb4;
  --line: rgb(var(--ink-rgb) / .10);
  --line-strong: rgb(var(--ink-rgb) / .18);
  --fill: rgb(var(--ink-rgb) / .045);
  --fill-hover: rgb(var(--ink-rgb) / .08);
  --switch-off: #d5e6df;
  /* 按钮：墨绿底 + 薄荷字 */
  --primary: #0f2a22;
  --primary-press: #1e463a;
  --primary-soft: #d6f7ea;
  --on-primary: #b8ffe1;
  /* 高亮：汽水薄荷（选中、链接文字、开关） */
  --accent: #00a676;
  --accent-2: #7dffd0;
  --glow-rgb: 0 166 118;
  /* 点缀：葡萄紫、珊瑚 */
  --grape: #7b5cff;
  --grape-rgb: 123 92 255;
  --grape-soft: #ece8ff;
  --soda: #3d8bff;
  --mint: #00a676;
  --mint-soft: #d6f7ea;
  --lime: #d6ff3d;
  --danger: #e5484d;
  --danger-rgb: 229 72 77;
  --danger-soft: #fde6e6;
  /* 深色块（手机外壳、数据面板） */
  --night: #0f2a22;
  --shell-a: #2c4a40;
  --shell-b: #0a1a15;
  --shell-notch: #040c09;
  --shadow-rgb: 10 70 50;
  --shadow: 0 18px 40px -22px rgb(var(--shadow-rgb) / .35);
  --shadow-lg: 0 40px 80px -36px rgb(var(--shadow-rgb) / .45);
  --brand-mid: #00a87a;
  --brand-gradient: linear-gradient(100deg, #0f2a22 0%, #00a87a 55%, #7b5cff 100%);
  --aura-1: #8affd6; --aura-2: #ffcbbd; --aura-3: #d2c8ff;
  --logo-1: #19e0a5; --logo-2: #00a87a; --logo-3: #7b5cff; --logo-dot: #0f2a22;
  --chart-a: #00a676; --chart-b: #b3f0d9; --chart-line: #7b5cff;

  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --display: 'Unbounded', var(--sans);
  --ease: cubic-bezier(.2,1.2,.4,1);
}

/* ===== 配色「草莓苏打」：.env 里设置 SITE_THEME=strawberry 启用 ===== */
:root[data-site-theme="strawberry"] {
  --bg: #fff4f8;
  --bg-rgb: 255 244 248;
  --text: #2b0b2a;
  --ink-rgb: 43 11 42;
  --muted: #80637d;
  --placeholder: #c2adbf;
  --switch-off: #e8dbe5;
  --primary: #ff2e7e;
  --primary-press: #e81f6c;
  --primary-soft: #ffe1ed;
  --on-primary: #ffffff;
  --accent: #ff2e7e;
  --accent-2: #ff9ec4;
  --glow-rgb: 255 46 126;
  --grape: #6b4dff;
  --grape-rgb: 107 77 255;
  --soda: #3d6bff;
  --mint: #00b38a;
  --mint-soft: #dcf7ee;
  --night: #2b0b2a;
  --shell-a: #4a2147;
  --shell-b: #1c0619;
  --shell-notch: #0d020b;
  --shadow-rgb: 140 20 80;
  --brand-mid: #b63dff;
  --brand-gradient: linear-gradient(100deg, #ff2e7e 0%, #b63dff 52%, #3d6bff 100%);
  --aura-1: #ffbad6; --aura-2: #cfc4ff; --aura-3: #c2f5e4;
  --logo-1: #ff2e7e; --logo-2: #b63dff; --logo-3: #3d6bff; --logo-dot: #2b0b2a;
  --chart-a: #8a72ff; --chart-b: #c9bdff; --chart-line: #ff2e7e;
}
/* ===== 配色「香芋柠檬」：.env 里设置 SITE_THEME=taro 启用 ===== */
/* 浅香芋紫打底，荧光柠檬只点在按钮字、小圆点和数据曲线上 */
:root[data-site-theme="taro"] {
  --bg: #f4f0ff;
  --bg-rgb: 244 240 255;
  --text: #1d1442;
  --ink-rgb: 29 20 66;
  --muted: #6e6693;
  --placeholder: #b3abd3;
  --switch-off: #dcd5f5;
  --primary: #4f2dff;
  --primary-press: #3f1fe6;
  --primary-soft: #e6dfff;
  --on-primary: #dcff3c;
  --accent: #5b3cff;
  --accent-2: #dcff3c;
  --glow-rgb: 91 60 255;
  --grape: #1d1442;
  --grape-rgb: 29 20 66;
  --grape-soft: #ece8ff;
  --soda: #ff6bd6;
  --mint: #12a874;
  --mint-soft: #dbf6ea;
  --lime: #dcff3c;
  --night: #1d1442;
  --shell-a: #3a2b7a;
  --shell-b: #110a2e;
  --shell-notch: #07041a;
  --shadow-rgb: 60 30 160;
  --brand-mid: #7b5cff;
  --brand-gradient: linear-gradient(100deg, #1d1442 0%, #4f2dff 50%, #c46bff 100%);
  --aura-1: #c9b8ff; --aura-2: #f0ffa8; --aura-3: #ffc6f0;
  --logo-1: #4f2dff; --logo-2: #9a5cff; --logo-3: #ff6bd6; --logo-dot: #dcff3c;
  --chart-a: #5b3cff; --chart-b: #c9bdff; --chart-line: #1d1442;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); -webkit-font-smoothing: antialiased; line-height: 1.6; }
a { color: inherit; }
button, input, textarea, select { font: inherit; color: inherit; }
img { max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--grape); outline-offset: 3px; }
::selection { background: var(--accent); color: #fff; }

/* 标志 */
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 700 19px/1 var(--display); letter-spacing: -.02em; color: var(--text); }
.logo-mark { width: 30px; height: 30px; flex: none; }

/* 按钮 */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; padding: 0 22px; border-radius: 999px; border: 0; cursor: pointer;
  font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap;
  transition: transform .2s var(--ease), background .2s, box-shadow .2s, opacity .2s;
}
.btn:active { transform: scale(.96); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn-primary { background: var(--primary); color: var(--on-primary); box-shadow: 0 12px 28px -12px rgb(var(--glow-rgb) / .75); }
.btn-primary:hover { background: var(--primary-press); box-shadow: 0 16px 34px -12px rgb(var(--glow-rgb) / .85); }
.btn-ghost { background: var(--surface); border: 1px solid var(--line-strong); color: var(--text); }
.btn-ghost:hover { background: var(--primary-soft); border-color: transparent; }
.btn-sm { height: 38px; padding: 0 16px; font-size: 14px; }

/* 输入框 */
.field { display: grid; gap: 8px; }
.field > span { font-size: 13px; font-weight: 650; color: var(--muted); }
.input {
  width: 100%; height: 50px; padding: 0 16px; border-radius: 14px;
  background: var(--surface); border: 1px solid var(--line-strong); color: var(--text); outline: none;
  transition: border-color .2s, box-shadow .2s;
}
textarea.input { height: auto; min-height: 96px; padding: 14px 16px; resize: vertical; line-height: 1.6; }
.input::placeholder { color: var(--placeholder); }
.input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgb(var(--glow-rgb) / .14); }
.hint { font-size: 12px; color: var(--muted); min-height: 1.2em; }
.hint.bad { color: var(--danger); }
.hint.good { color: var(--mint); }

/* 提示条 */
.toast {
  position: fixed; z-index: 100; left: 50%; bottom: 28px; transform: translate(-50%, 16px);
  max-width: calc(100vw - 32px); padding: 12px 20px; border-radius: 999px;
  background: var(--night); color: #fff; font-size: 14px; font-weight: 650; box-shadow: 0 20px 50px -16px rgb(var(--ink-rgb) / .6);
  opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s var(--ease);
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.toast.bad { background: var(--danger); }

/* 背景光斑：粉、紫、薄荷三团柔光 */
.aura { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.aura i { position: absolute; border-radius: 50%; filter: blur(90px); }
.aura i:nth-child(1) { width: 50vmax; height: 50vmax; left: -16vmax; top: -24vmax; background: var(--aura-1); opacity: .75; }
.aura i:nth-child(2) { width: 40vmax; height: 40vmax; right: -14vmax; top: 6vh; background: var(--aura-2); opacity: .6; }
.aura i:nth-child(3) { width: 42vmax; height: 42vmax; left: 22vw; bottom: -30vmax; background: var(--aura-3); opacity: .7; }

.beian { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 12px; }
.beian a { color: var(--muted); text-decoration: none; }
.beian a:hover { color: var(--text); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
