/* ============================================================
   Strata — 进化文档工作台设计语言(单一事实源)
   名字可改。原则:扁平克制 · 暗色中性 · 单一强调色 · 文案只留标签。
   所有界面只用这里的 token,不再各处硬编码颜色/圆角/间距。
   ============================================================ */
:root{
  /* 色板 */
  --st-bg:#0a0c10; --st-surface:#0f1217; --st-surface-2:#161a21; --st-inset:#0c0e13; --st-head:#12151c;
  --st-line:rgba(255,255,255,.08); --st-line-strong:rgba(255,255,255,.14);
  --st-text:#e6e8ec; --st-text-muted:#9298a3; --st-text-faint:#5b616c;
  --st-accent:#4d7cfe; --st-accent-weak:rgba(77,124,254,.10);
  --st-success:#3fb27f; --st-warn:#e0a23c; --st-danger:#dd6376;
  /* 圆角 */ --st-r-sm:7px; --st-r:10px; --st-r-lg:14px;
  /* 间距 */ --st-s1:6px; --st-s2:10px; --st-s3:14px; --st-s4:20px;
  /* 阴影 */ --st-shadow:0 10px 30px rgba(0,0,0,.4); --st-shadow-pop:0 12px 30px rgba(0,0,0,.5);
  /* 字体 */ --st-font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --st-mono:ui-monospace,SFMono-Regular,Menlo,monospace;

  /* —— 向后兼容:studio 旧变量名映射到 Strata token,保持运行不动 —— */
  --bg:var(--st-bg); --panel:var(--st-surface); --panel2:var(--st-surface-2); --inset:var(--st-inset); --head:var(--st-head);
  --line:var(--st-line); --line2:var(--st-line-strong);
  --text:var(--st-text); --muted:var(--st-text-muted); --faint:var(--st-text-faint);
  --accent:var(--st-accent); --danger:var(--st-danger); --ok:var(--st-success); --r:var(--st-r);
}

/* ---- 组件:按钮 ---- */
.st-btn{font:inherit;font-size:13px;cursor:pointer;border-radius:var(--st-r-sm);padding:7px 13px;
  border:1px solid var(--st-line-strong);background:var(--st-surface-2);color:var(--st-text);transition:.13s}
.st-btn:hover{background:#1c212b}
.st-btn:disabled{opacity:.4;cursor:not-allowed}
.st-btn--primary{background:var(--st-accent);border-color:transparent;color:#fff}
.st-btn--primary:hover{filter:brightness(1.08);background:var(--st-accent)}
.st-btn--ghost{background:transparent;border-color:var(--st-line);color:var(--st-text-muted)}
.st-btn--ghost:hover{background:var(--st-surface-2);color:var(--st-text)}
.st-btn--sm{font-size:12px;padding:4px 10px}

/* ---- 卡片 / 面板 ---- */
.st-card{background:var(--st-surface);border:1px solid var(--st-line);border-radius:var(--st-r);box-shadow:var(--st-shadow);overflow:hidden}
.st-card__head{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--st-head);border-bottom:1px solid var(--st-line)}
.st-card__body{padding:var(--st-s3)}
.st-panel{background:var(--st-surface);border:1px solid var(--st-line);border-radius:var(--st-r);padding:var(--st-s3)}

/* ---- 表单 ---- */
.st-input,.st-textarea{width:100%;background:var(--st-inset);border:1px solid var(--st-line);border-radius:var(--st-r-sm);
  color:var(--st-text);padding:7px 10px;font-size:13px;outline:none;font-family:var(--st-font)}
.st-input:focus,.st-textarea:focus{border-color:var(--st-line-strong)}
.st-textarea{resize:vertical;line-height:1.6}
.st-select{background:var(--st-surface-2);border:1px solid var(--st-line-strong);border-radius:var(--st-r-sm);
  color:var(--st-text);font-size:12.5px;padding:4px 7px;outline:none;cursor:pointer}

/* ---- 标记 ---- */
.st-chip{font-size:12px;border:1px solid var(--st-line);border-radius:var(--st-r-sm);padding:3px 9px;color:var(--st-text-muted)}
.st-chip--info{border-color:rgba(77,124,254,.4);color:var(--st-accent)}
.st-tag{font-size:12px;border-radius:var(--st-r-sm);padding:2px 8px;background:var(--st-surface-2);color:var(--st-text-muted)}
.st-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--st-text-faint)}
.st-dot--ok{background:var(--st-success)} .st-dot--warn{background:var(--st-warn)}
.st-label{font-size:11px;color:var(--st-text-faint)}
.st-muted{color:var(--st-text-muted)} .st-faint{color:var(--st-text-faint)}
.st-divider{height:1px;background:var(--st-line);border:0;margin:var(--st-s3) 0}

/* ---- 状态色 ---- */
.st-ok{color:var(--st-success)} .st-warn{color:var(--st-warn)} .st-bad{color:var(--st-danger)} .st-info{color:var(--st-accent)}
