/* Ohm's Law Calculator — F.Robin Calculators Suite v1.0.0 */
.olc-wrap {
  --olc-primary:#00BFFF; --olc-primary-dark:#0099CC; --olc-accent:#34a853;
  --olc-danger:#d93025; --olc-bg:#fff; --olc-surface:#f5f7fa;
  --olc-border:#e5e7eb; --olc-text:#1a1a1a; --olc-muted:#6b7280;
  --olc-radius:10px; --olc-transition:.2s ease;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--olc-text); background:var(--olc-bg);
  border:1px solid var(--olc-border); border-radius:var(--olc-radius);
  box-shadow:0 4px 24px rgba(0,0,0,.09); max-width:680px; margin:2em auto; overflow:hidden;
}
.olc-header { background:linear-gradient(135deg,#0d0d0d 0%,#0a1628 100%); color:#fff; padding:2em 2em 1.6em; text-align:center; }
.olc-icon { margin-bottom:.6em; opacity:.9; color:#00BFFF; }
.olc-icon svg { display:inline-block; vertical-align:middle; }
.olc-title { margin:0 0 .4em; font-size:1.55rem; font-weight:800; line-height:1.2; color:#fff; border:none; padding:0; }
.olc-subtitle { margin:0; font-size:.9rem; color:rgba(255,255,255,.65); line-height:1.5; }
.olc-body { padding:1.8em 2em 2em; }
.olc-fields { display:grid; grid-template-columns:1fr 1fr; gap:1.1em 1.4em; margin-bottom:1.4em; }
.olc-field label { display:flex; align-items:center; gap:.45em; font-size:.85rem; font-weight:700; color:var(--olc-muted); margin-bottom:.35em; text-transform:uppercase; letter-spacing:.03em; }
.olc-symbol { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:var(--olc-primary); color:#000; font-size:.75rem; font-weight:800; flex-shrink:0; }
.olc-input-wrap { display:flex; align-items:center; border:1.5px solid var(--olc-border); border-radius:7px; background:var(--olc-surface); overflow:hidden; transition:border-color var(--olc-transition),box-shadow var(--olc-transition); }
.olc-input-wrap:focus-within { border-color:var(--olc-primary); box-shadow:0 0 0 3px rgba(0,191,255,.15); background:#fff; }
.olc-input { flex:1; border:none; outline:none; padding:.6em .75em; font-size:1rem; font-family:inherit; background:transparent; color:var(--olc-text); min-width:0; -moz-appearance:textfield; }
.olc-input::-webkit-outer-spin-button,.olc-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.olc-unit { padding:0 .75em; font-size:.9rem; font-weight:700; color:var(--olc-muted); background:var(--olc-border); align-self:stretch; display:flex; align-items:center; border-left:1px solid var(--olc-border); white-space:nowrap; }
.olc-field.olc-calculated .olc-input-wrap { border-color:var(--olc-accent); background:#f0faf3; }
.olc-field.olc-calculated .olc-input { color:#1e8e3e; font-weight:700; }
.olc-actions { display:flex; gap:.9em; margin-bottom:1.2em; }
.olc-btn { flex:1; padding:.7em 1.2em; border:none; border-radius:7px; font-size:1rem; font-family:inherit; font-weight:700; cursor:pointer; transition:all var(--olc-transition); }
.olc-btn:active { transform:scale(.97); }
.olc-btn-calc { background:var(--olc-primary); color:#000; box-shadow:0 2px 8px rgba(0,191,255,.30); }
.olc-btn-calc:hover,.olc-btn-calc:focus { background:var(--olc-primary-dark); }
.olc-btn-reset { background:var(--olc-surface); color:var(--olc-muted); border:1.5px solid var(--olc-border); }
.olc-btn-reset:hover { background:#e8eaed; color:var(--olc-text); }
.olc-message { border-radius:7px; font-size:.9rem; font-weight:600; overflow:hidden; transition:all var(--olc-transition); }
.olc-message:not(:empty) { padding:.7em 1em; margin-bottom:1.2em; }
.olc-message.olc-error { background:#fce8e6; color:var(--olc-danger); border:1px solid #f5c6c2; }
.olc-message.olc-success { background:#e6f4ea; color:#137333; border:1px solid #b7dfbf; }
.olc-results { background:#0d0d0d; border-radius:var(--olc-radius); padding:1.2em 1.4em 1.4em; margin-bottom:1.4em; min-height:100px; animation:olcFadeIn .25s ease; }
@keyframes olcFadeIn { from{opacity:0;transform:translateY(6px);} to{opacity:1;transform:translateY(0);} }
.olc-results-heading { margin:0 0 1em; font-size:.9rem; font-weight:800; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.07em; border:none; padding:0; }
.olc-results-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.9em; }
.olc-result-card { display:flex; flex-direction:column; align-items:center; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:.9em .5em .8em; text-align:center; transition:all var(--olc-transition); }
.olc-result-card.olc-res-computed { border-color:var(--olc-primary); box-shadow:0 0 0 2px rgba(0,191,255,.15); }
.olc-res-symbol { width:26px; height:26px; border-radius:50%; background:var(--olc-primary); color:#000; font-size:.8rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:.4em; }
.olc-res-label { font-size:.68rem; color:rgba(255,255,255,.45); font-weight:700; text-transform:uppercase; letter-spacing:.03em; margin-bottom:.25em; }
.olc-res-value { font-size:1.15rem; font-weight:800; color:#00BFFF; line-height:1.2; word-break:break-all; font-family:"Courier New",monospace; }
.olc-res-unit { font-size:.72rem; color:rgba(255,255,255,.40); margin-top:.15em; }
.olc-legend { border-top:1px solid var(--olc-border); padding-top:1.3em; }
.olc-legend-heading { margin:0 0 .9em; font-size:.9rem; font-weight:800; color:var(--olc-muted); text-transform:uppercase; letter-spacing:.05em; border:none; padding:0; }
.olc-formula-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.6em; }
.olc-formula { background:var(--olc-surface); border:1px solid var(--olc-border); border-radius:7px; padding:.55em .8em; font-size:.88rem; display:flex; align-items:center; gap:.4em; }
.olc-fvar { font-weight:800; color:var(--olc-primary-dark); min-width:14px; }
.olc-feq { color:var(--olc-muted); }
.olc-fexpr { color:var(--olc-text); }
@media (max-width:520px) {
  .olc-body { padding:1.2em 1em 1.4em; }
  .olc-fields { grid-template-columns:1fr; }
  .olc-results-grid { grid-template-columns:repeat(2,1fr); }
  .olc-formula-grid { grid-template-columns:repeat(2,1fr); }
  .olc-actions { flex-direction:column; }
}
