
    .ohm-lab {
      margin-top: 16px;
      border: 1px solid #264a6f;
      border-radius: 16px;
      padding: 14px;
      background:
        radial-gradient(circle at 18% 12%, rgba(0, 166, 251, 0.2), transparent 35%),
        radial-gradient(circle at 86% 78%, rgba(255, 183, 3, 0.18), transparent 32%),
        #07182b;
      color: #e6f1ff;
      box-shadow: 0 14px 30px rgba(6, 20, 37, 0.28);
    }

    .ohm-lab h2 {
      margin: 0 0 6px;
      font-size: 1.15rem;
      color: #ffe8a2;
    }

    .ohm-subtitle {
      margin: 0 0 12px;
      color: #cfe3ff;
      font-size: 0.97rem;
    }

    .ohm-mode {
      border: 1px solid #355d88;
      border-radius: 12px;
      background: rgba(13, 37, 63, 0.9);
      padding: 10px;
      margin-bottom: 10px;
      display: grid;
      gap: 8px;
    }

    .ohm-mode label {
      font-weight: 800;
      font-size: 0.92rem;
      color: #e6f1ff;
    }

    .ohm-mode select {
      width: 100%;
      max-width: 340px;
      border: 1px solid #7ea8cf;
      background: #0d2b48;
      color: #eaf4ff;
      border-radius: 8px;
      padding: 7px 8px;
      font-weight: 700;
    }

    .ohm-mode p {
      margin: 0;
      color: #d4e7ff;
      font-size: 0.88rem;
    }

    .ohm-controls {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 12px;
    }

    .ohm-control {
      border: 1px solid #355d88;
      border-radius: 12px;
      background: rgba(13, 37, 63, 0.9);
      padding: 10px 10px 8px;
    }

    .ohm-control label {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 8px;
      font-weight: 800;
      font-size: 0.92rem;
      color: #e6f1ff;
      margin-bottom: 6px;
    }

    .ohm-value {
      font-size: 0.9rem;
      color: #ffe9a3;
    }

    .ohm-control input[type='range'] {
      width: 100%;
      accent-color: #00a6fb;
      cursor: pointer;
    }

    .ohm-control.locked {
      opacity: 0.68;
      border-color: #6a86a3;
    }

    .ohm-formula {
      border: 1px solid #355d88;
      border-radius: 12px;
      background: rgba(13, 37, 63, 0.9);
      padding: 10px;
      margin-bottom: 12px;
      display: grid;
      gap: 5px;
    }

    .ohm-formula .eq {
      margin: 0;
      font-size: 1.14rem;
      font-weight: 900;
      color: #ffe8a2;
      letter-spacing: 0.02em;
    }

    .ohm-formula .nums {
      margin: 0;
      color: #d6ecff;
      font-weight: 700;
      font-size: 0.95rem;
    }

    .ohm-formula .hint {
      margin: 0;
      color: #c2ddff;
      font-size: 0.85rem;
    }

    .ohm-stage {
      border: 1px solid #355d88;
      border-radius: 13px;
      background: linear-gradient(180deg, #081c30, #0b223a);
      padding: 8px;
    }

    .ohm-svg {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 10px;
      background: radial-gradient(circle at 50% 10%, #102a45, #081526 55%);
    }

    .ohm-note {
      margin: 10px 2px 2px;
      color: #d4e7ff;
      font-size: 0.92rem;
      font-weight: 600;
    }

    .ohm-problem-intro {
      margin: 0 0 12px;
      color: #224469;
      font-weight: 600;
    }

    .ohm-result-panel {
      margin: 0 0 12px;
      border: 1px solid #cadff5;
      border-radius: 12px;
      padding: 10px;
      background: #f3f9ff;
      display: grid;
      gap: 6px;
    }

    .ohm-result-counts {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .ohm-result-item {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      border-radius: 999px;
      padding: 4px 10px;
      font-weight: 800;
      font-size: 0.92rem;
    }

    .ohm-result-item.ok {
      background: #e8f8ee;
      color: #1d6b3f;
      border: 1px solid #bce7cc;
    }

    .ohm-result-item.bad {
      background: #fff1f0;
      color: #912f2f;
      border: 1px solid #f3c2bf;
    }

    .ohm-result-message {
      margin: 0;
      font-weight: 700;
      color: #143a63;
    }

    .ohm-problem-list {
      display: grid;
      gap: 12px;
    }

    .ohm-problem {
      border: 1px solid #d6e3f3;
      border-radius: 14px;
      padding: 12px;
      background: #ffffff;
      transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    }

    .ohm-problem.is-correct {
      border-color: #4fb37b;
      background: #f0fbf4;
      box-shadow: 0 0 0 3px rgba(79, 179, 123, 0.14);
    }

    .ohm-problem.is-wrong {
      border-color: #d86969;
      background: #fff6f6;
      box-shadow: 0 0 0 3px rgba(216, 105, 105, 0.14);
    }

    .ohm-problem h3 {
      margin: 0 0 8px;
      color: #0f2e52;
      font-size: 1.03rem;
    }

    .ohm-problem-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }

    .ohm-mark {
      font-size: 0.84rem;
      font-weight: 800;
      border-radius: 999px;
      padding: 3px 9px;
      background: #e9f0f7;
      color: #44607e;
      border: 1px solid #d0deec;
      white-space: nowrap;
    }

    .ohm-problem.is-correct .ohm-mark {
      background: #dcf5e6;
      color: #1c6b3e;
      border-color: #a9dfc0;
    }

    .ohm-problem.is-wrong .ohm-mark {
      background: #ffe4e2;
      color: #8f2d2d;
      border-color: #f1b5b0;
    }

    .ohm-problem p {
      margin: 0 0 10px;
    }

    .ohm-answer-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }

    .ohm-answer-row label {
      font-weight: 700;
      color: #14365c;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .ohm-answer-row input[type='text'] {
      width: 120px;
      border-radius: 10px;
      border: 1px solid #a9bfdc;
      padding: 8px 10px;
      font-weight: 700;
    }

    .ohm-answer-row input.ohm-unit-input {
      width: 96px;
      text-transform: uppercase;
    }

    .ohm-actions {
      margin-top: 12px;
      display: flex;
      justify-content: center;
    }

    .ohm-check-all {
      font-size: 1rem;
      font-weight: 800;
      border-radius: 12px;
      border: 1px solid #1768a6;
      background: linear-gradient(180deg, #27a3f3, #1484d4);
      color: #fff;
      padding: 10px 16px;
      cursor: pointer;
      box-shadow: 0 8px 18px rgba(10, 80, 138, 0.25);
    }

    .ohm-check-all:hover {
      filter: brightness(1.06);
    }

    .ohm-confetti {
      position: fixed;
      inset: 0;
      pointer-events: none;
      overflow: hidden;
      z-index: 9999;
    }

    .ohm-confetti-piece {
      position: absolute;
      top: -20px;
      width: var(--w, 8px);
      height: var(--h, 12px);
      left: var(--x, 50%);
      background: var(--c, #ffd166);
      opacity: 0;
      border-radius: 2px;
      animation: ohm-confetti-fall var(--d, 1800ms) linear forwards;
      animation-delay: var(--delay, 0ms);
      transform: translate3d(0, 0, 0) rotate(0deg);
    }

    @keyframes ohm-confetti-fall {
      0% {
        opacity: 0;
        transform: translate3d(0, -18px, 0) rotate(0deg);
      }
      10% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate3d(var(--drift, 0px), 108vh, 0) rotate(var(--rot, 520deg));
      }
    }

    @media (max-width: 920px) {
      .ohm-controls {
        grid-template-columns: 1fr;
      }
    }
  
.magnitudes-jumps { display:flex; flex-wrap:wrap; gap:12px 22px; margin:20px 0 28px; }
.magnitudes-jumps a { color:#147c69; font-weight:700; text-underline-offset:5px; }
.magnitude-section { margin:42px 0; scroll-margin-top:100px; }
.magnitude-section > h2 { font-size:28px; color:#203b42; }
.magnitude-section > p { max-width:78ch; line-height:1.8; color:#53676e; }
.magnitudes-page .ohm-lab h2 { color:#ffe8a2; }
.magnitudes-page .ohm-lab { scroll-margin-top:100px; }
.ohm-view-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:12px 0; }
.ohm-view-controls select { padding:9px; border-radius:8px; background:#0d2b48; color:#eaf4ff; border:1px solid #7ea8cf; }
body.site-subpage .magnitudes-page .ohm-view-controls button[type] { padding:9px 14px; background:#193f60; border:1px solid #7ea8cf; color:#eaf4ff; border-radius:8px; box-shadow:none; }
.ohm-equations { display:flex; flex-wrap:wrap; gap:14px; margin:20px 0; }
.ohm-equations strong { padding:16px 22px; border:1px solid #cfe0d8; border-radius:10px; background:#edf6f2; color:#175b49; font-size:22px; }
.mini-lab { padding:20px; border:1px solid #d5e2dc; background:#fff; border-radius:14px; margin:22px 0; }
.mini-lab h3 { margin:0 0 18px; color:#203b42; }
.mini-lab > label { font-weight:700; color:#175b49; }
.mini-lab > input { margin:14px; width:min(60%,500px); accent-color:#16856e; }
.mini-lab > output { color:#175b49; font-weight:700; }
.mini-lab svg { width:100%; height:auto; display:block; margin:16px 0; }
.mini-lab svg text { font-family:Arial,sans-serif; fill:#284b55; font-size:16px; }
.mini-lab p { line-height:1.75; color:#53676e; }
.mini-lab .mini-result { color:#175b49; font-weight:700; background:#edf6f2; padding:12px; border-radius:8px; }
.magnitude-extra,.magnitude-exercises { border:1px solid #d6e2dc; border-radius:12px; margin:22px 0; overflow:hidden; background:#fff; scroll-margin-top:100px; }
.magnitude-extra > summary,.magnitude-exercises > summary { padding:18px 20px; background:#edf6f2; color:#175b49; font-size:18px; font-weight:700; cursor:pointer; }
.magnitude-extra > section,.magnitude-exercise-body { padding:4px 20px 20px; }
.calculation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.calculation-card { min-width:0; padding:18px; border:1px solid #d4e1db; border-radius:12px; background:#fafcfb; }
.calculation-card h3 { margin:0 0 12px; font-size:18px; color:#203b42; }
.calculation-diagram > svg { width:100%; height:auto; display:block; background:#fff; border-radius:8px; }
.calculation-diagram svg text { fill:#284b55; font:17px Arial,sans-serif; }
.calculation-diagram .electric-symbol { width:160px; height:100px; fill:none; stroke:#284b55; stroke-width:2.5; }
.calculation-diagram .electric-symbol text { fill:#284b55; stroke:none; }
.calculation-card > label { display:block; margin:14px 0 6px; font-weight:600; }
.calculation-answer { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.calculation-answer input { width:100px; padding:10px; border:1px solid #b8cec3; border-radius:8px; font:inherit; }
body.site-subpage .magnitudes-page .calculation-answer button[type] { padding:10px 14px; border:1px solid #b8cec3; border-radius:8px; background:#edf6f2; color:#175b49; box-shadow:none; font:inherit; font-weight:600; }
.calculation-feedback { min-height:22px; margin:10px 0 0; line-height:1.5; font-size:14px; }
.calculation-card[data-checked=true][data-correct=true] { border-color:#16856e; }
.calculation-card[data-checked=true][data-correct=false] { border-color:#c37164; }
.magnitudes-page :is(input,select,button,summary):focus-visible { outline:3px solid #16856e; outline-offset:3px; }
@media(max-width:700px) { .calculation-grid { grid-template-columns:1fr; } .mini-lab { padding:14px; } .magnitude-exercise-body { padding:4px 14px 14px; } .mini-lab > input { width:65%; margin:14px 4px; } }

body.site-subpage .magnitudes-page .ohm-view-controls select { width:auto; flex:0 1 350px; max-width:100%; background:#0d2b48; color:#eaf4ff; border:1px solid #7ea8cf; }
body.site-subpage .magnitudes-page .ohm-view-controls label { width:auto; margin:0; }

.calculation-description { margin:0 0 14px; line-height:1.7; }
.calculation-draw-prompt { margin:14px 0; color:#175b49; font-weight:600; }
.calculation-solution { margin-top:12px; border:1px solid #d4e1db; border-radius:8px; overflow:hidden; background:#fff; }
.calculation-solution > summary { padding:12px 14px; cursor:pointer; color:#175b49; font-weight:700; background:#edf6f2; }
.calculation-solution .calculation-diagram { padding:8px; }
.calculation-equivalent { margin:0 14px 8px; color:#53676e; font-size:14px; }
.calculation-formula { margin:0 14px 14px; font-weight:700; color:#175b49; }
