/* ======================================================================
   词云图生成器 · 独立设计（紫粉渐变创意工作室）
   ====================================================================== */
.wcg{
  --ink:#241b33; --sub:#6a5f7d; --faint:#a59bb5;
  --bg:#f6f3fb; --card:#ffffff; --card2:#f4f0fa; --line:#e4dcf0; --line2:#ede7f6;
  --pri:#7c3aed; --pri-2:#a855f7; --pri-soft:#f0e7fd; --pri-ink:#5b21b6;
  --pink:#ec4899; --pink-soft:#fde8f2;
  --ok:#2f7d4f; --err:#c22f2f;
  --r:16px;
  --shadow:0 1px 2px rgba(36,27,51,.06),0 14px 34px rgba(124,58,237,.10);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    radial-gradient(760px 420px at 12% -140px, rgba(168,85,247,.14), transparent 62%),
    radial-gradient(700px 400px at 92% -80px, rgba(236,72,153,.10), transparent 60%),
    radial-gradient(600px 380px at 60% 120%, rgba(99,102,241,.08), transparent 60%),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .wcg{
  --ink:#ece6f7; --sub:#b0a6c4; --faint:#776d8a;
  --bg:#151021; --card:#1e1830; --card2:#251d3a; --line:#372c4e; --line2:#2d2442;
  --pri:#a78bfa; --pri-2:#c4b5fd; --pri-soft:rgba(167,139,250,.14); --pri-ink:#c4b5fd;
  --pink:#f472b6; --pink-soft:rgba(244,114,182,.12);
  --ok:#5ec98a; --err:#f07a7a;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 14px 34px rgba(0,0,0,.5);
}
.wcg *{box-sizing:border-box;}
.wcg b{font-weight:700;}
.wcg-wrap{max-width:1140px;margin:0 auto;}
.wcg code,.wcg textarea,input{font-family:inherit;}
.wcg-mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;}

/* ---------- 首屏 ---------- */
.wcg-hero{margin-top:22px;border-radius:20px;padding:30px 32px;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#6d28d9 0%,#9333ea 45%,#db2777 100%);color:#fff;box-shadow:var(--shadow);}
.wcg-hero::after{content:"词云 高频 年终总结 团队 成长 关键词 灵感 数据 故事 未来";position:absolute;right:-10px;top:-6px;font-size:15px;font-weight:800;color:rgba(255,255,255,.14);letter-spacing:.4em;line-height:2.4;transform:rotate(8deg);pointer-events:none;max-width:420px;}
.wcg-hero h1{margin:0 0 8px;font-size:clamp(25px,3.8vw,34px);font-weight:900;line-height:1.3;}
.wcg-hero h1 em{font-style:normal;color:#ffe1ef;}
.wcg-hero p{margin:0;color:rgba(255,255,255,.88);max-width:720px;font-size:15px;}
.wcg-hero p b{color:#fff;}

/* ---------- 工作台 ---------- */
.wcg-desk{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px;margin-top:20px;}
@media (max-width:940px){.wcg-desk{grid-template-columns:1fr;}}
.wcg-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px 16px;}
.wcg-card h2{margin:0 0 4px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px;}
.wcg-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:8px;background:var(--pri);color:#fff;font-size:12px;font-weight:800;}
:root[data-theme="dark"] .wcg-num{color:#1e1830;}
.wcg-tip{font-size:12.5px;color:var(--sub);margin:0 0 10px;}
.wcg-ta{width:100%;min-height:230px;resize:vertical;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card2);color:var(--ink);font-size:14px;line-height:1.8;outline:none;transition:border-color .15s;}
.wcg-ta:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.wcg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;}
.wcg-chip{border:1px solid var(--line);background:var(--card2);color:var(--sub);border-radius:999px;padding:5px 14px;font-size:13px;cursor:pointer;font-weight:600;transition:all .15s;font-family:inherit;}
.wcg-chip:hover{border-color:var(--pri-2);color:var(--pri-ink);}
.wcg-chip.on{background:var(--pri);border-color:var(--pri);color:#fff;}
:root[data-theme="dark"] .wcg-chip.on{color:#1e1830;}
.wcg-chip .wcg-sw{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:0;}
.wcg-btn{border:none;border-radius:11px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;transition:all .15s;font-family:inherit;}
.wcg-btn-go{background:linear-gradient(120deg,var(--pri),var(--pink));color:#fff;}
.wcg-btn-go:hover{filter:brightness(1.07);}
.wcg-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.wcg-btn-ghost:hover{border-color:var(--pri-2);}
.wcg-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:600;}
.wcg-msg.err{color:var(--err);}
.wcg-msg.ok{color:var(--ok);}
.wcg-canvasbox{border-radius:14px;border:1px solid var(--line);overflow:hidden;background:#fff;}
:root[data-theme="dark"] .wcg-canvasbox{background:#171225;}
.wcg-canvasbox canvas{display:block;width:100%;height:auto;}

/* ---------- 词频条 ---------- */
.wcg-bars{margin-top:14px;display:flex;flex-direction:column;gap:6px;}
.wcg-bar{display:grid;grid-template-columns:96px 1fr 44px;gap:10px;align-items:center;font-size:12.5px;}
.wcg-bar .wcg-bw{font-weight:700;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wcg-bar .wcg-bt{height:9px;border-radius:999px;background:var(--card2);overflow:hidden;}
.wcg-bar .wcg-bt i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--pri),var(--pink));}
.wcg-bar .wcg-bc{color:var(--sub);}

/* ---------- FAQ ---------- */
.wcg-faq{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);}
.wcg-faq h2{margin:0 0 12px;font-size:19px;font-weight:900;}
.wcg-faq h3{margin:18px 0 6px;font-size:15.5px;font-weight:800;color:var(--pri-ink);}
.wcg-faq p{margin:0;color:var(--sub);font-size:14px;}
.wcg-faq p b{color:var(--ink);}
