/* ohms-law — ツール固有スタイル（共有トークンに依存） */
.ol-grid { display: grid; gap: 10px; }
.ol-row {
  display: grid;
  grid-template-columns: 5.5em 1fr 5.5em;
  align-items: center;
  gap: 8px;
}
.ol-row__label {
  font-weight: 700;
  font-size: 1rem;
  color: var(--sg-fg, #1c2430);
}
.ol-row__label em {
  font-style: normal;
  color: var(--sg-primary, #3b5bdb);
  margin-left: 2px;
}
.ol-row__num { width: 100%; }
.ol-row__unit { width: 100%; }

.ol-msg { min-height: 1.2em; margin-top: 10px; }

/* 結果 */
.ol-outs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 6px 0 14px;
}
.ol-out {
  border: 1px solid var(--sg-border, #e2e6ee);
  border-radius: var(--sg-radius, 10px);
  padding: 10px 12px;
  background: var(--sg-surface, #fff);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ol-out--calc {
  border-color: var(--sg-primary, #3b5bdb);
  background: var(--sg-primary-soft, #eef2ff);
}
.ol-out__name { font-size: .82rem; color: var(--sg-muted, #66707a); }
.ol-out__name em { font-style: normal; font-weight: 700; }
.ol-out__val { font-size: 1.35rem; font-weight: 700; line-height: 1.2; }
.ol-out__tag {
  align-self: flex-start;
  font-size: .68rem;
  padding: 1px 7px;
  border-radius: 999px;
  margin-top: 2px;
  background: var(--sg-surface-2, #eef1f6);
  color: var(--sg-muted, #66707a);
}
.ol-out--calc .ol-out__tag { background: var(--sg-primary, #3b5bdb); color: #fff; }

.ol-steps { margin: 4px 0 14px; }
.ol-steps ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.ol-steps code {
  display: block;
  font-size: .9rem;
  background: var(--sg-surface-2, #f4f6fb);
  border-radius: 8px;
  padding: 7px 10px;
  word-break: break-word;
}
.ol-copied { margin-left: 10px; font-size: .85rem; color: var(--sg-primary, #3b5bdb); }

@media (max-width: 420px) {
  .ol-row { grid-template-columns: 4.5em 1fr 5em; }
  .ol-outs { grid-template-columns: 1fr; }
}
