.loom-calc-page-head{max-width:1120px;margin:0 auto 22px;color:#081e4c}
.loom-calc-page-head h1{margin:0 0 8px;font-size:clamp(26px,4vw,40px);font-weight:500;letter-spacing:-.04em;line-height:1.15}
.loom-calc-page-head p{margin:0;max-width:660px;color:#59677c;font-size:15px;line-height:1.6}
[data-store-calculator],[data-calculator-page]{max-width:1192px;margin:0 auto;padding:42px 24px 64px}
body[data-store-calculator-page] [data-store-calculator]{padding-top:calc(var(--hw-h,0px) + 112px)}
.loom-calc-app{--color-text-primary:#081e4c;--color-text-secondary:#59677c;--color-text-tertiary:#8492a7;--color-surface:#fff;--color-surface-muted:#edf4f9;--color-warning:#a46714;--color-warning-border:#f1d197;--space-1:4px;--space-2:8px;--space-6:24px;--radius-sm:4px;--font-size-caption:12px;--font-weight-bold:650;--duration-slow:320ms;--ease-standard:cubic-bezier(.2,.8,.2,1);--_exact:#466A91;--_ink:#123766;color:#081e4c;container:loom-calculator / inline-size;font:inherit;line-height:1.5}
.loom-calc-app *,.loom-calculator-dialog *{box-sizing:border-box}
.loom-calc-app [hidden]{display:none!important}
.loom-calc-card{display:grid;gap:24px;padding:24px;border:1px solid #dce6ee;border-radius:14px;background:#fff;box-shadow:0 10px 36px #081e4c06}
.loom-calc-controls{display:grid;align-content:start;gap:24px;min-width:0}
.loom-calc-step{display:grid;gap:10px;min-width:0;margin:0}
.loom-calc-step-head{display:flex;align-items:center;gap:9px;min-width:0}
.loom-calc-step-number{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid #d6e6f3;border-radius:5px;background:#eef5fb;color:#31567c;font-size:12px;font-weight:650}
.loom-calc-step-title{font-weight:600;font-size:14px;color:#081e4c}
.loom-calc-app select,.loom-calc-app input{min-width:0;font:inherit;font-size:15px;color:#081e4c;background:#fff;border:1px solid #d5e0ea;border-radius:6px;min-height:46px}
.loom-calc-app select{width:100%;padding:10px 30px 10px 12px;cursor:pointer;line-height:1.4}
.loom-calc-app[dir=rtl] select{padding:10px 12px 10px 30px}
.loom-calc-app button{font:inherit;cursor:pointer;color:inherit}
.loom-calc-app :is(input,button,select,a):focus-visible,.loom-calc-scale:focus-visible,.loom-calculator-dialog :is(button,a):focus-visible{outline:3px solid #5e9fca;outline-offset:3px}
.loom-calc-product-row,.loom-calc-water-row{display:flex;align-items:center;gap:12px;min-width:0}
.loom-calc-pickers{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,.42fr);gap:8px;flex:1;min-width:0}
.loom-calc-bottle{position:relative;width:46px;height:66px;display:grid;place-items:center;flex:none;pointer-events:none}
.loom-calc-bottle img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
.loom-calc-water-row .loom-calc-number{flex:1}
.loom-calc-number{display:flex;align-items:center;min-width:0;border:1px solid #d5e0ea;border-radius:6px;background:#fff;overflow:hidden;min-height:46px}
.loom-calc-number button{flex:0 0 44px;align-self:stretch;border:0;background:#f4f8fb;font-size:20px;line-height:1;min-height:44px}
.loom-calc-number button:first-child{border-inline-end:1px solid #e0e8ef}
.loom-calc-number button:last-child{border-inline-start:1px solid #e0e8ef}
.loom-calc-number input{flex:1;width:60px;min-height:44px;padding:8px 4px;border:0;border-radius:0;text-align:center;box-shadow:none;font-variant-numeric:tabular-nums}
.loom-calc-number-unit{padding-inline-end:10px;font-size:13px;color:#67758b;white-space:nowrap}
.loom-calc-number:has(input:focus-visible){outline:3px solid #5e9fca;outline-offset:2px}
.loom-calc-number input:focus-visible{outline:none}
.loom-calc-hint{margin:0;color:#68758a;font-size:12px;line-height:1.55}
.loom-calc-dose-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px}
.loom-calc-error,.loom-calc-warning,.loom-calc-selection-error{margin:0;color:#954716;font-size:13px;line-height:1.5}
.loom-calc-app [aria-invalid=true]{color:#954716}
.loom-calc-warning,.loom-calc-selection-error{padding:10px 12px;border:1px solid #efd7bc;border-radius:6px;background:#fff8ef}
.loom-calc-selection-error{margin-bottom:14px}
.loom-calc-phases{display:flex;gap:6px;flex-wrap:wrap}
.loom-calc-phases button{padding:8px 12px;min-height:40px;border:1px solid #d5e0ea;border-radius:5px;background:#fff;font-size:12px;flex:1}
.loom-calc-phases button[aria-pressed=true],.loom-calc-segments button[aria-pressed=true]{background:#e6f0f8;border-color:#7195b3;color:#081e4c;box-shadow:inset 0 0 0 1px #7195b3;font-weight:600}
.loom-calc-frequency{margin:0;padding:8px 12px;border-inline-start:2px solid #749fbe;background:#f3f7fb;font-size:14px;font-weight:500}
.loom-calc-result{display:grid;gap:12px;align-content:start;min-width:0;padding:22px 20px;border:1px solid #dce8f2;border-radius:10px;background:linear-gradient(160deg,#f1f7fc,#f8fbfd 70%)}
.loom-calc-result-title{margin:0;font-size:13px;color:#4d6680;font-weight:500}
.loom-calc-answer{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-height:90px}
.loom-calc-output{display:contents}
.loom-calc-protocol-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.loom-calc-protocol-row>select:only-child{grid-column:1/-1}
.loom-calc-details{border-top:1px solid #dce7ef;font-size:12px;color:#526880}
.loom-calc-details>summary{display:list-item;min-height:44px;padding:12px 0;cursor:pointer;font-weight:500}
.loom-calc-details-body{display:grid;gap:10px;padding-bottom:4px}
.loom-calc-details .loom-calc-footnote{margin:0;padding:0}
.loom-calc-result-value{font-size:64px;line-height:1;letter-spacing:-.055em;font-weight:500;color:#081e4c;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.loom-calc-result-unit{font-size:18px;font-weight:500}
.loom-calc-result-sub{width:100%;margin:0;min-height:21px;color:#586e85;font-size:13px;font-variant-numeric:tabular-nums}
.loom-calc-drag-hint{margin:0;color:#687b90;font-size:11px;line-height:1.55}
.loom-calc-syringes{display:grid;gap:7px;min-width:0;border:0;margin:5px 0 0;padding:0}
.loom-calc-syringes legend{margin-bottom:7px;padding:0;font-size:12px;color:#526880}
.loom-calc-segments{display:flex;min-width:0}
.loom-calc-segments button{flex:1;min-height:42px;padding:8px 6px;border:1px solid #cedde8;background:#fff;font-size:13px;font-variant-numeric:tabular-nums}
.loom-calc-segments button+button{margin-inline-start:-1px}
.loom-calc-segments button:first-child{border-start-start-radius:5px;border-end-start-radius:5px}
.loom-calc-segments button:last-child{border-start-end-radius:5px;border-end-end-radius:5px}
.loom-calc-facts{display:grid;gap:8px;border-top:1px solid #dce7ef;margin:3px 0 0;padding-top:13px;font-size:12px}
.loom-calc-facts>div{display:flex;justify-content:space-between;gap:12px}
.loom-calc-facts dt{color:#687b90}
.loom-calc-facts dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}
.loom-calc-footnote{margin:12px 0 0;padding:0 2px;color:#748195;font-size:11px;line-height:1.55}
.loom-calc-empty{padding:24px;border:1px solid #dce6ee;border-radius:8px;color:#59677c;font-size:14px;background:#fff}
.loom-product-calculator{margin-top:20px}
.loom-product-calculator-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:14px;min-height:76px;text-align:start;border:1px solid #cddde9;border-radius:14px;background:linear-gradient(110deg,#f0f6fa,#fafcfd);color:#173954;box-shadow:0 3px 10px #17395405;cursor:pointer;transition:background-color .18s,border-color .18s,box-shadow .18s}
.loom-product-calculator-label{flex:1;min-width:0}
.loom-product-calculator-icon{display:grid;place-items:center;flex:none;width:36px;height:40px;border-radius:9px;background:#fff;color:#426c8b;box-shadow:0 1px 4px #1739540a}
.loom-product-calculator-icon svg{width:24px;height:24px}
.loom-product-calculator-trigger strong,.loom-product-calculator-trigger small{display:block;font:inherit}
.loom-product-calculator-trigger strong{font-size:15px;font-weight:600;line-height:1.4}
.loom-product-calculator-trigger small{margin-top:4px;font-size:12px;line-height:1.4;color:#637689}
.loom-product-calculator-action{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:12px;font-weight:600}
.loom-product-calculator-arrow{font-size:24px;font-weight:400;line-height:1}
.loom-product-calculator-trigger:focus-visible{outline:3px solid #5e9fca;outline-offset:3px}
.loom-product-calculator-trigger:active{background:#e3eef6;border-color:#94b6cf}
.loom-calc-frequency strong{font-weight:600}
.loom-calc-phase-picker{font-weight:500}
.loom-calculator-dialog{width:min(920px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #d4e0ea;border-radius:14px;color:#081e4c;background:#fff;box-shadow:0 28px 100px #081e4c29;overflow:auto;overscroll-behavior:contain}
.loom-calculator-dialog::backdrop{background:#071c3d5c;backdrop-filter:blur(4px)}
.loom-calculator-dialog-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid #e0e8ef;background:#fff}
.loom-calculator-dialog-head h2{margin:0;font-size:19px;font-weight:500;letter-spacing:-.02em}
.loom-calculator-dialog-title{display:grid;gap:2px}
.loom-calculator-dialog-title a{font-size:11px;color:#4d6c8d;text-decoration:underline;text-underline-offset:3px}
.loom-calculator-close{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #d5e0ea;border-radius:6px;background:#fff;color:#081e4c;font-size:26px;font-weight:300;cursor:pointer}
.loom-calculator-dialog-body{padding:20px}
.loom-calculator-dialog-body .loom-calc-card{box-shadow:none}
.loom-calculator-dialog-foot{padding:0 22px 20px;font-size:12px;text-align:center}
.loom-calculator-dialog-foot a{color:#4d6c8d;text-decoration:underline;text-underline-offset:3px}
html.loom-calculator-open{overflow:hidden}
@container loom-calculator (min-width:760px){.loom-calc-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;padding:28px}.loom-calc-result{padding:24px}.loom-calc-controls{gap:26px}.loom-calc-result-value{font-size:72px}}
@media(max-width:600px){[data-store-calculator],[data-calculator-page]{padding:28px 14px 48px}.loom-calc-page-head{margin-bottom:20px}.loom-calc-page-head p{font-size:13px}.loom-calc-card{padding:16px;gap:22px;border-radius:10px}.loom-calc-controls{gap:21px}.loom-calc-result{padding:18px 14px;gap:10px}.loom-calc-bottle{width:38px;height:56px}.loom-calc-product-row,.loom-calc-water-row{gap:10px}.loom-calc-pickers{grid-template-columns:minmax(0,1fr) 85px;gap:6px}.loom-calc-app select,.loom-calc-app input{font-size:16px}.loom-calculator-dialog{inset:0;margin:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.loom-calculator-dialog-head{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.loom-calculator-dialog-body{padding:16px 12px}.loom-calculator-dialog-body .loom-calc-card{border:0;padding:0}.loom-calculator-dialog-head h2{font-size:18px}.loom-calculator-dialog-foot{padding-bottom:max(22px,env(safe-area-inset-bottom))}}
@media(hover:hover){.loom-calc-number button:hover,.loom-calc-segments button:hover,.loom-calc-phases button:hover{background:#eaf2f8}.loom-product-calculator-trigger:hover{border-color:#9cbad0;box-shadow:0 4px 15px #1739540c;background:#edf4f9}}
@media(max-width:374px){.loom-product-calculator-trigger{gap:9px;padding:12px}.loom-product-calculator-trigger strong{font-size:14px}.loom-product-calculator-action{gap:4px}}

/* Approved syringe artwork, preserved from the original calculator. */
.loom-calc-scale {
  display: grid;
  gap: var(--space-1);
  padding-block-start: var(--space-6);
}

/* Left to right whatever the page: needle, hub, barrel (with the marks), flange, the plunger's press. */
.loom-calc-scaleBody {
  --_metal: color-mix(in oklab, var(--color-text-secondary) 38%, var(--color-surface));
  display: flex;
  align-items: center;
  block-size: 40px;
}

.loom-calc-needle {
  flex: none;
  inline-size: 26px;
  block-size: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg, color-mix(in oklab, var(--color-text-tertiary) 25%, transparent), var(--color-text-tertiary));
}

.loom-calc-hub {
  flex: none;
  inline-size: 12px;
  block-size: 16px;
  border-radius: 3px 0 0 3px;
  background-color: var(--_metal);
}

.loom-calc-barrel {
  position: relative;
  flex: 1 1 auto;
  block-size: 100%;
}

/* With onUnits: the barrel is a slider. The finger owns it (no page scroll from it), the mouse shows a grab hand. */
.loom-calc-scale[data-interactive] .loom-calc-barrel {
  touch-action: none;
  cursor: grab;
}

.loom-calc-scale[data-interactive] .loom-calc-barrel[data-dragging] {
  cursor: grabbing;
}

/* While dragging, the liquid, stopper, rod and marker follow the pointer at once. */
.loom-calc-barrel[data-dragging] .loom-calc-liquid,
.loom-calc-barrel[data-dragging] .loom-calc-stopper,
.loom-calc-barrel[data-dragging] .loom-calc-rod,
.loom-calc-barrel[data-dragging] .loom-calc-marker {
  transition: none;
}

.loom-calc-scale[data-interactive] .loom-calc-scaleLabel {
  padding-inline: var(--space-1);
  cursor: pointer;
}

/* Quiet glass depth keeps the selected label colour and the scale clearly legible. */
.loom-calc-glass {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1.5px solid color-mix(in oklab, var(--color-text-secondary) 45%, var(--color-surface));
  border-radius: 6px;
  background: linear-gradient(180deg, var(--color-surface), var(--color-surface-muted) 60%, var(--color-surface));
  box-shadow: 0 3px 8px -6px color-mix(in srgb, var(--_exact) 22%, transparent);
}

.loom-calc-liquid {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: calc(var(--fill, 0) * 100%);
  overflow: hidden;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--_liquid-light, var(--_exact)) 55%, var(--color-surface)) 0%,
    color-mix(in srgb, var(--_liquid-light, var(--_exact)) 75%, var(--color-surface)) 28%,
    color-mix(in srgb, var(--_exact) 44%, var(--color-surface)) 64%,
    color-mix(in srgb, var(--_liquid-deep, var(--_exact)) 35%, var(--color-surface)) 100%
  );
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.6), inset 0 -1px 2px color-mix(in srgb, var(--_exact) 12%, transparent);
  transition: inline-size var(--duration-slow) var(--ease-standard);
  animation: none;
}

.loom-calc-flow {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 200%;
  background: none;
  animation: none;
}

.loom-calc-sparkles {
  position: absolute;
  inset: 0;
  background: none;
  animation: none;
}

.loom-calc-sheen {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 44%, rgb(255 255 255 / 0.16) 49%, rgb(255 255 255 / 0.3) 50%, rgb(255 255 255 / 0.16) 51%, transparent 56%);
  opacity: 0;
  transform: translateX(-120%);
  animation: loom-calc-liquid-sheen 8s var(--ease-standard) infinite;
}

.loom-calc-barrel[data-over] .loom-calc-flow,
.loom-calc-barrel[data-over] .loom-calc-sparkles,
.loom-calc-barrel[data-over] .loom-calc-sheen {
  display: none;
}

/* One narrow reflection crosses the liquid slowly, with a quiet pause between passes. */
@keyframes loom-calc-liquid-sheen {
  0%,
  20% {
    transform: translateX(-120%);
    opacity: 0;
  }
  26% {
    opacity: 1;
  }
  66% {
    transform: translateX(120%);
    opacity: 0.7;
  }
  72%,
  100% {
    transform: translateX(120%);
    opacity: 0;
  }
}

/* A glint along the liquid's top. */
.loom-calc-liquid::after {
  position: absolute;
  inset-inline: 0;
  inset-block-start: 4px;
  block-size: 4px;
  border-radius: 2px;
  background-color: rgb(255 255 255 / 0.22);
  content: "";
}

/* More than the syringe holds: the barrel full, in the warning's stripes. */
.loom-calc-barrel[data-over] .loom-calc-liquid {
  background: repeating-linear-gradient(
    135deg,
    color-mix(in oklab, var(--color-warning) 55%, var(--color-surface)) 0 10px,
    var(--color-warning-border) 10px 20px
  );
  box-shadow: none;
  animation: none;
}

/* Minor marks: one per unit (every 2 on the 100), drawn as a repeating line. */
.loom-calc-minorTicks {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  block-size: 30%;
  background: repeating-linear-gradient(
    90deg,
    color-mix(in srgb, var(--color-text-primary) 68%, transparent) 0 1px,
    transparent 1px calc(100% / var(--minor, 50))
  );
}

.loom-calc-tick {
  position: absolute;
  inset-block-end: 0;
  inline-size: 2px;
  block-size: 55%;
  margin-inline-start: -1px;
  background-color: var(--color-text-primary);
}

.loom-calc-tick[data-edge] {
  opacity: 0;
}

.loom-calc-stopper {
  position: absolute;
  inset-block: 2px;
  inset-inline-start: calc(var(--fill, 0) * 100%);
  inline-size: 10px;
  border-radius: 3px;
  background: repeating-linear-gradient(90deg, var(--color-text-primary) 0 3px, var(--color-text-secondary) 3px 5px);
  transition: inset-inline-start var(--duration-slow) var(--ease-standard);
}

.loom-calc-rod {
  position: absolute;
  inset-block: 42% 42%;
  inset-inline-start: calc(var(--fill, 0) * 100% + 10px);
  inset-inline-end: 0;
  background-color: var(--_metal);
  transition: inset-inline-start var(--duration-slow) var(--ease-standard);
}

.loom-calc-flange {
  flex: none;
  inline-size: 6px;
  block-size: 54px;
  border-radius: 3px;
  background-color: var(--_metal);
}

.loom-calc-press {
  flex: none;
  inline-size: 14px;
  block-size: 30px;
  margin-inline-start: 6px;
  border-radius: 4px;
  background-color: var(--_metal);
}

/* The line to draw to, named over the barrel in the product's ink. */
.loom-calc-marker {
  position: absolute;
  inset-block-end: calc(100% + 6px);
  inset-inline-start: calc(var(--fill, 0) * 100%);
  translate: -50% 0;
  transition: inset-inline-start var(--duration-slow) var(--ease-standard);
}

.loom-calc-markerValue {
  position: relative;
  display: block;
  padding-block: 2px;
  padding-inline: var(--space-2);
  border-radius: var(--radius-sm);
  background-color: var(--_ink);
  box-shadow: 0 2px 5px -3px color-mix(in srgb, var(--_exact) 22%, transparent);
  color: var(--color-surface);
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.loom-calc-markerValue::after {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 50%;
  margin-inline-start: -5px;
  border-inline: 5px solid transparent;
  border-block-start: 6px solid var(--_ink);
  content: "";
}

.loom-calc-scaleLabels {
  display: flex;
}

/* The labels sit under the barrel only: the needle and hub's width before it, the flange and press's after it. */
.loom-calc-scaleLabelsTrack {
  position: relative;
  flex: 1 1 auto;
  block-size: 1.1rem;
  margin-inline: 38px 26px;
}

.loom-calc-scaleLabel {
  position: absolute;
  inset-block-start: 0;
  translate: -50% 0;
  color: var(--color-text-secondary);
  font-size: var(--font-size-caption);
  font-variant-numeric: tabular-nums;
}

/* On a narrow syringe every other number only, so they never touch. */
@container loom-calculator (max-width: 419.98px) {
  .loom-calc-scaleLabel:nth-child(even) {
    visibility: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root:not([data-motion="allow"]) .loom-calc-liquid,
  :root:not([data-motion="allow"]) .loom-calc-stopper,
  :root:not([data-motion="allow"]) .loom-calc-rod,
  :root:not([data-motion="allow"]) .loom-calc-marker {
    transition: none;
  }
}

@media(max-width:600px){.loom-calc-pickers{grid-template-columns:minmax(0,1fr) 104px}.loom-calc-app[dir] .loom-calc-pickers select{padding-inline:6px 25px}}

/* Fit the core controls and syringe to the phone, without scaling touch targets. */
@media(max-width:600px){
  [data-store-calculator],[data-calculator-page]{padding-inline:10px;padding-bottom:14px}
  body[data-store-calculator-page] [data-store-calculator]{padding-top:calc(var(--hw-h,0px) + 58px)}
  .loom-calc-page-head{margin-bottom:10px}
  .loom-calc-page-head h1{font-size:clamp(22px,3svh,26px);margin-bottom:4px}
  .loom-calc-page-head p{font-size:12px;line-height:1.4}
  .loom-calc-app{--calc-space:clamp(6px,1.2svh,10px);--space-6:clamp(14px,2.1svh,18px);--font-size-caption:10px;line-height:1.35}
  .loom-calc-card{gap:var(--calc-space);padding:10px;border-radius:10px}
  .loom-calc-controls{gap:var(--calc-space)}
  .loom-calc-step{gap:5px}
  .loom-calc-step-head{gap:6px}
  .loom-calc-step-number{width:19px;height:19px;font-size:10px}
  .loom-calc-step-title{font-size:12px}
  .loom-calc-app select,.loom-calc-app input,.loom-calc-number,.loom-calc-number input{min-height:44px;height:44px}
  .loom-calc-app select{padding-block:6px}
  .loom-calc-app[dir=rtl] select{padding-block:6px}
  .loom-calc-bottle{width:30px;height:44px}
  .loom-calc-product-row,.loom-calc-water-row{gap:7px}
  .loom-calc-number button{min-height:44px;font-size:18px}
  .loom-calc-hint{font-size:10px;line-height:1.35}
  .loom-calc-result{padding:10px;gap:5px}
  .loom-calc-output{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .loom-calc-result-title{font-size:11px;max-width:48%;line-height:1.4}
  .loom-calc-answer{min-height:0;gap:5px;flex-wrap:nowrap}
  .loom-calc-result-value{font-size:clamp(36px,5.3svh,46px)}
  .loom-calc-result-unit{font-size:13px}
  .loom-calc-result-sub{font-size:11px;line-height:1.35;min-height:15px}
  .loom-calc-syringes{display:flex;align-items:center;gap:8px;margin-top:2px}
  .loom-calc-syringes legend{float:inline-start;margin:0;padding:0;max-width:66px;font-size:10px}
  .loom-calc-segments{flex:1}
  .loom-calc-segments button{min-height:44px;padding:6px 4px;font-size:12px}
  .loom-calc-details{font-size:11px}
  .loom-calc-details>summary{padding-block:12px;min-height:44px}
  .loom-calc-frequency{font-size:12px;line-height:1.35;padding:6px 8px}
  .loom-calc-warning,.loom-calc-selection-error{padding:7px 9px;font-size:12px}
  .loom-calculator-dialog{inset:8px;margin:auto;width:calc(100% - 16px);height:fit-content;max-height:calc(100dvh - 16px);border:1px solid #d4e0ea;border-radius:12px;overflow:hidden}
  .loom-calculator-dialog[open]{display:flex;flex-direction:column}
  .loom-calculator-dialog-head{position:static;flex:none;gap:10px;padding:6px 10px}
  .loom-calculator-dialog-head h2{font-size:16px}
  .loom-calculator-close{width:44px;height:44px;font-size:24px}
  .loom-calculator-dialog-body{min-height:0;padding:8px;overflow-y:auto;overscroll-behavior:contain}
  .loom-calculator-dialog-body .loom-calc-card{padding:0}
}
@media(max-width:600px) and (max-height:740px){
  body[data-store-calculator-page] [data-store-calculator]{padding-top:calc(var(--hw-h,0px) + 42px)}
  .loom-calc-page-head p{display:none}
  .loom-calc-page-head{margin-bottom:8px}
  .loom-calc-card{padding:8px}
  .loom-calc-result{gap:4px;padding:8px}
}
@media(prefers-reduced-motion:reduce){.loom-calc-app *,.loom-calc-app *::before,.loom-calc-app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} .loom-calc-scale[aria-disabled=true] .loom-calc-barrel{cursor:default}.loom-calc-scale[aria-disabled=true] .loom-calc-scaleLabel{cursor:default}

@media (max-width: 639px) {
  .loom-calc-protocol-row { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .loom-calc-step-title { font-size: 13px; }
  .loom-calc-hint, .loom-calc-result-sub { font-size: 12px; line-height: 1.45; }
}
