/* chromebot 公共设计系统 —— landing / dashboard / docs 共用。
   暗色"隐身仪表台":近黑底 + 网格 + 单一信号色 acid lime。 */
:root{
  --bg:#0a0b0a; --panel:#101210; --panel-2:#161915; --line:#23271f;
  --ink:#e7eadf; --ink-dim:#8d9384; --ink-faint:#5a5f52;
  --signal:#c8ff39; --signal-dim:#6f8a1f;
  --warn:#ff7a45; --bad:#ff4d4d; --cool:#5fd3ff;
  --r:4px; --grid:48px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
html{overflow-x:hidden}                 /* 兜底:任何溢出都不触发横向滚动 */
body{background:var(--bg);color:var(--ink);
  font:400 14px/1.5 'IBM Plex Mono', ui-monospace, monospace;
  -webkit-font-smoothing:antialiased}

/* 网格背景(landing/dashboard 共用) */
.bg-grid{
  background-image:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:var(--grid) var(--grid);
  background-position:center top;
}

/* 按钮 */
button,.btn{font-family:inherit;font-size:12.5px;cursor:pointer;border-radius:var(--r);
  border:1px solid var(--line);background:var(--panel-2);color:var(--ink);
  padding:8px 13px;transition:.14s ease;letter-spacing:.02em}
button:hover,.btn:hover{border-color:var(--signal-dim);color:#fff}
button:active{transform:translateY(1px)}
button:disabled{opacity:.4;cursor:not-allowed}
.btn-key{background:var(--signal);color:#0a0b0a;border-color:var(--signal);font-weight:600}
.btn-key:hover{filter:brightness(1.08);color:#0a0b0a}
.btn-ghost{background:transparent}
.btn-danger:hover{border-color:var(--bad);color:var(--bad)}
a{color:var(--signal)}

/* === 截断 / 换行工具类(全站统一) === */
.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.break{overflow-wrap:anywhere;word-break:normal}    /* 可读文本:按词/分隔符断 */
.break-all{word-break:break-all;overflow-wrap:anywhere} /* 无空格长串:id/token/wss */
.nowrap{white-space:nowrap}
.flex-min{min-width:0}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important}
  .cta:hover,button:active{transform:none}
}

/* 统一移动端断点 */
@media (max-width:640px){ :root{--grid:36px} }
@media (max-width:480px){ body{font-size:13.5px} }
