/* base.css —— 重置 / 排版 / 滚动条 / 工具类 */

*,
*::before,
*::after { box-sizing: border-box; }

html { height: 100%; }

body {
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--bg);
  color: var(--text);
  font: 14px/1.5 var(--font-ui);
  letter-spacing: .01em;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

/* 背景：极暗的冷色渐层 + 一层几乎看不见的网点，避免死黑 */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(90% 60% at 50% -10%, #13202b 0%, transparent 70%),
    linear-gradient(180deg, #080c11 0%, #05080b 100%);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .5;
  background-image: radial-gradient(#ffffff0a 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: radial-gradient(80% 70% at 50% 30%, #000 0%, transparent 100%);
}

h1, h2, h3, h4, p, ul, ol { margin: 0; }
ul, ol { padding-left: 1.2em; }
button, input, select { font: inherit; color: inherit; }
img, canvas { display: block; max-width: 100%; }

/* ---- 滚动条 ---- */
.scroll, #inspBody {
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}
.scroll::-webkit-scrollbar, #inspBody::-webkit-scrollbar { width: 8px; height: 8px; }
.scroll::-webkit-scrollbar-track, #inspBody::-webkit-scrollbar-track { background: transparent; }
.scroll::-webkit-scrollbar-thumb, #inspBody::-webkit-scrollbar-thumb {
  background: var(--line-strong);
  border-radius: 4px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.scroll::-webkit-scrollbar-thumb:hover, #inspBody::-webkit-scrollbar-thumb:hover { background: #3d5265; background-clip: padding-box; }

/* ---- 文本工具 ---- */
.dim { color: var(--dim); font-size: 12px; }
.muted { color: var(--muted); font-size: 11.5px; }
.good { color: var(--accent); }
.bad { color: var(--danger); }
.warn { color: var(--amber); }
.gold { color: var(--amber); }
.mono { font-family: var(--font-num); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.nowrap { white-space: nowrap; }
.spacer { flex: 1; }
.hidden { display: none !important; }

/* ---- 焦点 ---- */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}
