/* CalcLounge calculator tool styles — mobile-first, theme-neutral */
.cl-calc {
  --cl-accent: #1a73e8;
  --cl-accent-dark: #0f5fc4;
  --cl-ink: #1c2430;
  --cl-muted: #5b6572;
  --cl-line: #e2e8f0;
  --cl-bg: #f7fafd;
  --cl-result-bg: #eef4fc;
  --cl-radius: 12px;
  font-family: inherit;
  color: var(--cl-ink);
  margin: 1.5rem 0;
}
.cl-loading { padding: 2rem; text-align: center; color: var(--cl-muted); }

.cl-tool {
  border: 1px solid var(--cl-line);
  border-radius: var(--cl-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 42, 67, .06);
}
.cl-tool-head {
  background: var(--cl-bg);
  border-bottom: 1px solid var(--cl-line);
  padding: .9rem 1.1rem;
  font-weight: 700;
  font-size: 1.05rem;
}
.cl-tool-body { padding: 1.1rem; display: grid; gap: 1.1rem; }
@media (min-width: 760px) {
  .cl-tool-body { grid-template-columns: 1fr 1fr; align-items: start; }
}

.cl-field { margin-bottom: .85rem; }
.cl-field:last-child { margin-bottom: 0; }
.cl-field label {
  display: block;
  font-size: .86rem;
  font-weight: 600;
  margin-bottom: .3rem;
}
.cl-field .cl-hint { font-weight: 400; color: var(--cl-muted); font-size: .78rem; }
.cl-input-wrap { position: relative; }
.cl-input-wrap input[type="number"],
.cl-input-wrap select {
  width: 100%;
  padding: .65rem .8rem;
  padding-right: 3rem;
  font-size: 1rem;
  border: 1px solid var(--cl-line);
  border-radius: 8px;
  background: #fff;
  color: var(--cl-ink);
  inputmode: decimal;
}
.cl-input-wrap select { padding-right: .8rem; appearance: auto; }
.cl-input-wrap input[type="number"]:focus,
.cl-input-wrap select:focus {
  outline: 2px solid var(--cl-accent);
  outline-offset: 0;
  border-color: var(--cl-accent);
}
.cl-unit {
  position: absolute;
  right: .8rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--cl-muted);
  font-size: .85rem;
  pointer-events: none;
}
/* range slider */
.cl-range-row { display: flex; align-items: center; gap: .7rem; }
.cl-range-row input[type="range"] { flex: 1; accent-color: var(--cl-accent); height: 1.6rem; }
.cl-range-val {
  min-width: 3.2rem;
  text-align: right;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.cl-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.cl-btn {
  border: 1px solid var(--cl-line);
  background: #fff;
  color: var(--cl-ink);
  border-radius: 8px;
  padding: .5rem .9rem;
  font-size: .86rem;
  font-weight: 600;
  cursor: pointer;
}
.cl-btn:hover { border-color: var(--cl-accent); color: var(--cl-accent-dark); }
.cl-btn-primary {
  background: var(--cl-accent);
  border-color: var(--cl-accent);
  color: #fff;
}
.cl-btn-primary:hover { background: var(--cl-accent-dark); color: #fff; }
.cl-copied { font-size: .82rem; color: #1c7c3e; align-self: center; display: none; }

.cl-results {
  background: var(--cl-result-bg);
  border: 1px solid var(--cl-line);
  border-radius: 10px;
  padding: 1rem 1.1rem;
}
.cl-results h3 {
  margin: 0 0 .6rem;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--cl-muted);
}
.cl-result-main {
  font-size: 1.9rem;
  font-weight: 800;
  color: var(--cl-accent-dark);
  line-height: 1.15;
  margin-bottom: .15rem;
  font-variant-numeric: tabular-nums;
}
.cl-result-main small { font-size: 1rem; font-weight: 600; color: var(--cl-muted); }
.cl-result-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .45rem 0;
  border-top: 1px dashed var(--cl-line);
  font-size: .95rem;
}
.cl-result-row:first-of-type { border-top: 0; }
.cl-result-row .cl-r-label { color: var(--cl-muted); }
.cl-result-row .cl-r-value { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }

.cl-notes { font-size: .82rem; color: var(--cl-muted); }
.cl-notes ul { margin: .2rem 0; padding-left: 1.1rem; }
.cl-notes li { margin-bottom: .25rem; }
