/* /360/assets/css/style.css */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;800&display=swap');

body {
  font-family: 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.code-pill { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.table > :not(caption) > * > * { vertical-align: middle; }
.score { font-variant-numeric: tabular-nums; }
.score-strong { font-weight: 800; }
.truncate { max-width: 340px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.section-card { background: var(--bs-body-bg); }

/* -----------------------------
   Global Typography Scale
   ----------------------------- */

/* Base font sizing (mobile-first) */
html {
  font-size: 1em; /* 1em = user’s default, usually 16px */
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

/* Slightly larger type on tablets/desktops */
@media (min-width: 768px) {
  html { font-size: 1.05em; }
}

@media (min-width: 1200px) {
  html { font-size: 1.125em; } /* ~18px base equivalent */
}

/* Body text */
body {
  font-family: 'Nunito', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  color: #212529;
  background-color: #f6f8fa;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: #1a1f36;
  line-height: 1.3;
}

h1 { font-size: 1.6em; }
h2 { font-size: 1.3em; }
h3, .h5 { font-size: 1.1em; }

/* Paragraphs & small text */
p { font-size: 1em; margin-bottom: 1em; }
.small, small { font-size: 0.9em !important; }

/* Progress bars */
.progress { height: 1.35em; }
.progress .progress-bar { font-size: 0.9em; }

/* Badges */
.badge {
  font-size: 0.9em;
  padding: 0.4em 0.6em;
}

/* Theme block readability tweaks */
.theme-block {
  font-size: 1em;
  line-height: 1.5;
}

/* Table responsiveness */
.table-sm td, .table-sm th {
  padding: 0.6em;
}
