.calc-hero{position:relative;overflow:hidden;padding:54px 0 38px;background:radial-gradient(circle at 18% 24%,rgba(246,196,92,.17),transparent 30%),linear-gradient(135deg,#06101e 0%,#0e1a2b 62%,#152236 100%);border-bottom:1px solid var(--fc-line);}
.calc-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:center;}
.calc-back{display:inline-flex;align-items:center;color:#dbeafe;text-decoration:none;font-weight:850;margin-bottom:18px;border:1px solid var(--fc-line);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.06);}
.calc-back:hover{text-decoration:none;border-color:rgba(246,196,92,.45);}
.calc-identity h1{font-size:clamp(2.35rem,5.5vw,4.75rem);line-height:.95;margin:0 0 16px;letter-spacing:-.055em;color:#fff;}
.calc-lead{font-size:clamp(1.03rem,2vw,1.26rem);line-height:1.55;color:var(--fc-muted);margin:0;max-width:780px;}
.calc-status-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.calc-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;background:rgba(110,231,183,.12);border:1px solid rgba(110,231,183,.28);color:#d9fff1;font-weight:900;font-size:.8rem;}
.calc-pill--muted{background:rgba(255,255,255,.07);border-color:var(--fc-line);color:var(--fc-muted);}
.calc-icon-panel{border:1px solid var(--fc-line);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.055));padding:22px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.25);}
.calc-icon-frame{height:172px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08);margin-bottom:14px;}
.calc-icon-frame img{max-width:90%;height:150px;object-fit:contain;filter:drop-shadow(0 16px 22px rgba(0,0,0,.28));}
.calc-icon-panel strong{display:block;font-size:1.1rem;color:#fff;}
.calc-icon-panel span{display:block;color:var(--fc-muted);font-size:.92rem;margin-top:4px;}
.calc-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;padding:34px 0 58px;align-items:start;}
.calc-cards{display:grid;gap:18px;}
.calc-selector-card{background:linear-gradient(180deg,#f8fafc,#eef4fb);color:#132033;border-radius:26px;border:1px solid rgba(15,23,42,.11);box-shadow:0 18px 48px rgba(0,0,0,.2);padding:22px;display:grid;gap:18px;}
.calc-selector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.calc-selector-head h2{margin:0 0 8px;color:#0f172a;font-size:1.45rem;letter-spacing:-.02em;}
.calc-selector-head p{margin:0;color:#526174;line-height:1.55;max-width:820px;}
.calc-tool-count{display:inline-flex;white-space:nowrap;border-radius:999px;background:#0f172a;color:#fff;padding:8px 12px;font-weight:900;font-size:.78rem;}
.calc-selector-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.calc-selector-controls label{display:grid;gap:7px;font-weight:850;color:#1f2d3f;font-size:.92rem;}
.calc-selector-controls label span{display:block;}
.calc-choice-strip{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.calc-choice{min-width:240px;max-width:300px;scroll-snap-align:start;border:1px solid rgba(15,23,42,.14);border-radius:18px;background:#fff;color:#132033;text-align:left;padding:14px 15px;display:grid;gap:5px;cursor:pointer;box-shadow:0 10px 22px rgba(15,23,42,.06);}
.calc-choice strong{font-size:.95rem;color:#0f172a;}
.calc-choice span{font-size:.82rem;line-height:1.35;color:#526174;}
.calc-choice:hover,.calc-choice.is-active{border-color:rgba(246,196,92,.95);box-shadow:0 0 0 3px rgba(246,196,92,.22),0 14px 30px rgba(15,23,42,.12);}
.calc-choice.is-active{background:#fff9e8;}
.calc-selector-status{font-size:.86rem;color:#526174;margin:-4px 0 0;}
.calc-active-label{margin:0 0 6px;color:#b45309;text-transform:uppercase;letter-spacing:.14em;font-weight:950;font-size:.74rem;}
.calc-card--single{margin-top:0;}
@media(max-width:760px){.calc-selector-head{display:grid}.calc-selector-controls{grid-template-columns:1fr}.calc-choice{min-width:82vw}.calc-tool-count{justify-self:start}}

.calc-card{background:#f8fafc;color:#132033;border-radius:26px;border:1px solid rgba(15,23,42,.11);box-shadow:0 18px 48px rgba(0,0,0,.2);overflow:hidden;}
.calc-card__head{padding:24px 24px 0;}
.calc-card__head h2{margin:0 0 8px;color:#0f172a;font-size:1.55rem;letter-spacing:-.02em;}
.calc-card__head p{margin:0;color:#526174;line-height:1.55;}
.calc-form{display:grid;gap:14px;padding:22px 24px;}
.calc-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.calc-field{display:grid;gap:7px;}
.calc-field label{font-weight:850;color:#1f2d3f;font-size:.92rem;}
.calc-field small{color:#66758a;line-height:1.35;}
.calc-input,.calc-select{width:100%;border:1px solid rgba(15,23,42,.18);border-radius:14px;background:#fff;color:#0f172a;padding:12px 13px;font:inherit;font-weight:800;min-height:46px;}
.calc-input:focus,.calc-select:focus{outline:3px solid rgba(97,168,255,.22);border-color:rgba(37,99,235,.55);}
.calc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;}
.calc-run,.calc-reset{border:0;border-radius:999px;padding:12px 16px;font-weight:950;cursor:pointer;}
.calc-run{background:linear-gradient(135deg,#f6c45c,#ffe6a3);color:#111827;}
.calc-reset{background:#e5eaf1;color:#263446;}
.calc-results{display:grid;gap:10px;padding:0 24px 24px;}
.calc-result{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#fff;padding:14px 16px;}
.calc-result span:first-child{font-weight:850;color:#263446;}
.calc-result strong{color:#0f172a;text-align:right;font-size:1.05rem;}
.calc-note{margin:0 24px 24px;padding:14px 16px;border-radius:18px;background:#edf5ff;color:#324459;border:1px solid rgba(37,99,235,.12);line-height:1.5;}
.calc-side{display:grid;gap:16px;position:sticky;top:18px;}
.calc-side-card{background:#f8fafc;color:#132033;border-radius:24px;padding:24px;border:1px solid rgba(15,23,42,.11);box-shadow:0 18px 48px rgba(0,0,0,.18);}
.calc-side-card h2{margin:0 0 10px;color:#0f172a;}
.calc-side-card p:last-child{color:#526174;line-height:1.55;margin-bottom:0;}
.calc-side-card--dark{background:linear-gradient(180deg,var(--fc-panel),var(--fc-panel-2));color:#fff;border-color:var(--fc-line);}
.calc-side-card--dark h2{color:#fff;}
.calc-side-card--dark p:last-child{color:var(--fc-muted);}
.calc-error{background:#fff7ed;color:#7c2d12;border:1px solid #fed7aa;border-radius:20px;padding:22px;}
@media(max-width:980px){.calc-hero__grid,.calc-body{grid-template-columns:1fr}.calc-side{position:static}.calc-icon-panel{max-width:360px}.calc-field-grid{grid-template-columns:1fr}}
@media(max-width:560px){.calc-hero{padding-top:36px}.calc-card__head,.calc-form,.calc-results{padding-left:18px;padding-right:18px}.calc-note{margin-left:18px;margin-right:18px}.calc-result{display:grid}.calc-result strong{text-align:left}}

.calc-contact-link{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;min-height:42px;padding:0 16px;border-radius:999px;background:linear-gradient(135deg,#f6c45c,#ffe6a3);color:#111827;font-weight:950;text-decoration:none;border:0;}
.calc-contact-link:hover{text-decoration:none;transform:translateY(-1px);}
.calc-side-card .calc-contact-link{color:#111827;}


/* Discipline theme system: serious character without changing site architecture. */
.calculator-page{
  --calc-accent:#f6c45c;
  --calc-accent-2:#61a8ff;
  --calc-accent-soft:rgba(246,196,92,.16);
  --calc-accent-line:rgba(246,196,92,.36);
  --calc-deep:#07101d;
  --calc-deep-2:#102033;
  --calc-panel-texture:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,0));
}
body[data-calculator-theme="field-office"]{--calc-accent:#f6c45c;--calc-accent-2:#6ee7b7;--calc-accent-soft:rgba(246,196,92,.18);--calc-accent-line:rgba(246,196,92,.46);--calc-deep:#101610;--calc-deep-2:#1d2618;--calc-panel-texture:radial-gradient(circle at 14px 14px,rgba(246,196,92,.08) 0 1px,transparent 1.5px);}
body[data-calculator-theme="heritage-shop"]{--calc-accent:#d69b52;--calc-accent-2:#9aa46f;--calc-accent-soft:rgba(214,155,82,.18);--calc-accent-line:rgba(214,155,82,.46);--calc-deep:#17100b;--calc-deep-2:#2a1c12;--calc-panel-texture:linear-gradient(90deg,rgba(214,155,82,.08) 1px,transparent 1px);}
body[data-calculator-theme="electrical"]{--calc-accent:#00e5ff;--calc-accent-2:#f6c45c;--calc-accent-soft:rgba(0,229,255,.16);--calc-accent-line:rgba(0,229,255,.46);--calc-deep:#03111f;--calc-deep-2:#09243a;--calc-panel-texture:linear-gradient(90deg,rgba(0,229,255,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(0,229,255,.06) 1px,transparent 1px);}
body[data-calculator-theme="lighting"]{--calc-accent:#ffe66d;--calc-accent-2:#7dd3fc;--calc-accent-soft:rgba(255,230,109,.18);--calc-accent-line:rgba(255,230,109,.46);--calc-deep:#10111f;--calc-deep-2:#1f2138;--calc-panel-texture:radial-gradient(circle at 35% 15%,rgba(255,230,109,.18),transparent 24%);}
body[data-calculator-theme="controls"],body[data-calculator-theme="code"]{--calc-accent:#61a8ff;--calc-accent-2:#6ee7b7;--calc-accent-soft:rgba(97,168,255,.16);--calc-accent-line:rgba(97,168,255,.46);--calc-deep:#06111e;--calc-deep-2:#0b2437;--calc-panel-texture:repeating-linear-gradient(0deg,rgba(97,168,255,.08) 0 1px,transparent 1px 9px);}
body[data-calculator-theme="communications"]{--calc-accent:#38bdf8;--calc-accent-2:#f97316;--calc-accent-soft:rgba(56,189,248,.17);--calc-accent-line:rgba(56,189,248,.48);--calc-deep:#07131f;--calc-deep-2:#0d2638;--calc-panel-texture:linear-gradient(90deg,rgba(56,189,248,.09) 1px,transparent 1px),repeating-linear-gradient(0deg,rgba(249,115,22,.07) 0 4px,transparent 4px 18px),radial-gradient(circle at 82% 20%,rgba(56,189,248,.16),transparent 26%);}

body[data-calculator-theme="frequency"]{--calc-accent:#38bdf8;--calc-accent-2:#a855f7;--calc-accent-soft:rgba(56,189,248,.18);--calc-accent-line:rgba(168,85,247,.46);--calc-deep:#06111f;--calc-deep-2:#111b32;--calc-panel-texture:repeating-linear-gradient(90deg,rgba(56,189,248,.10) 0 2px,transparent 2px 18px),radial-gradient(circle at 76% 24%,rgba(168,85,247,.18),transparent 28%);}
body[data-calculator-theme="magnetics"]{--calc-accent:#38bdf8;--calc-accent-2:#f43f5e;--calc-accent-soft:rgba(56,189,248,.17);--calc-accent-line:rgba(244,63,94,.45);--calc-deep:#07111f;--calc-deep-2:#1b1424;--calc-panel-texture:repeating-radial-gradient(ellipse at 50% 50%,rgba(56,189,248,.10) 0 2px,transparent 2px 22px),linear-gradient(135deg,rgba(244,63,94,.09),transparent);}
body[data-calculator-theme="drives"]{--calc-accent:#a78bfa;--calc-accent-2:#38bdf8;--calc-accent-soft:rgba(167,139,250,.17);--calc-accent-line:rgba(167,139,250,.46);--calc-deep:#100b21;--calc-deep-2:#1b1538;--calc-panel-texture:radial-gradient(circle,rgba(167,139,250,.09) 0 1px,transparent 1.5px);}
body[data-calculator-theme="sensors"]{--calc-accent:#22c55e;--calc-accent-2:#7dd3fc;--calc-accent-soft:rgba(34,197,94,.16);--calc-accent-line:rgba(34,197,94,.46);--calc-deep:#06180f;--calc-deep-2:#0e2b1b;--calc-panel-texture:radial-gradient(circle at 20% 30%,rgba(34,197,94,.12),transparent 18%),radial-gradient(circle at 78% 58%,rgba(125,211,252,.11),transparent 20%);}
body[data-calculator-theme="hydraulics"],body[data-calculator-theme="pneumatics"],body[data-calculator-theme="airflow"],body[data-calculator-theme="pressure"],body[data-calculator-theme="steam"],body[data-calculator-theme="plumbing"]{--calc-accent:#38bdf8;--calc-accent-2:#6ee7b7;--calc-accent-soft:rgba(56,189,248,.16);--calc-accent-line:rgba(56,189,248,.46);--calc-deep:#06131c;--calc-deep-2:#0c2635;--calc-panel-texture:repeating-linear-gradient(135deg,rgba(56,189,248,.08) 0 2px,transparent 2px 16px);}
body[data-calculator-theme="steam"]{--calc-accent:#cbd5e1;--calc-accent-2:#fb923c;--calc-accent-soft:rgba(203,213,225,.18);--calc-accent-line:rgba(203,213,225,.46);--calc-deep:#10151b;--calc-deep-2:#242a32;}
body[data-calculator-theme="acoustics"],body[data-calculator-theme="vibration"]{--calc-accent:#c084fc;--calc-accent-2:#22d3ee;--calc-accent-soft:rgba(192,132,252,.17);--calc-accent-line:rgba(192,132,252,.46);--calc-deep:#12091f;--calc-deep-2:#211236;--calc-panel-texture:repeating-radial-gradient(circle at 50% 50%,rgba(192,132,252,.1) 0 1px,transparent 1px 14px);}
body[data-calculator-theme="welding"],body[data-calculator-theme="foundry-melt"]{--calc-accent:#fb923c;--calc-accent-2:#facc15;--calc-accent-soft:rgba(251,146,60,.18);--calc-accent-line:rgba(251,146,60,.5);--calc-deep:#180d06;--calc-deep-2:#311806;--calc-panel-texture:radial-gradient(circle at 70% 18%,rgba(251,146,60,.18),transparent 24%),linear-gradient(135deg,rgba(250,204,21,.07),transparent);}


body[data-calculator-theme="strength"]{--calc-accent:#ef4444;--calc-accent-2:#94a3b8;--calc-accent-soft:rgba(239,68,68,.17);--calc-accent-line:rgba(148,163,184,.48);--calc-deep:#120d0d;--calc-deep-2:#261818;--calc-panel-texture:linear-gradient(90deg,rgba(148,163,184,.10) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.07) 1px,transparent 1px),repeating-linear-gradient(135deg,rgba(239,68,68,.08) 0 6px,transparent 6px 20px);}
body[data-calculator-theme="hand-tools"]{--calc-accent:#f59e0b;--calc-accent-2:#94a3b8;--calc-accent-soft:rgba(245,158,11,.18);--calc-accent-line:rgba(245,158,11,.48);--calc-deep:#11100c;--calc-deep-2:#242016;--calc-panel-texture:linear-gradient(90deg,rgba(245,158,11,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.06) 1px,transparent 1px),repeating-linear-gradient(135deg,rgba(148,163,184,.08) 0 5px,transparent 5px 18px);}
body[data-calculator-theme="earthwork"]{--calc-accent:#f59e0b;--calc-accent-2:#84cc16;--calc-accent-soft:rgba(245,158,11,.18);--calc-accent-line:rgba(132,204,22,.48);--calc-deep:#111007;--calc-deep-2:#252611;--calc-panel-texture:linear-gradient(90deg,rgba(245,158,11,.08) 1px,transparent 1px),repeating-linear-gradient(0deg,rgba(132,204,22,.08) 0 6px,transparent 6px 20px),radial-gradient(circle at 78% 16%,rgba(245,158,11,.16),transparent 28%);}
body[data-calculator-theme="drilling"]{--calc-accent:#06b6d4;--calc-accent-2:#f59e0b;--calc-accent-soft:rgba(6,182,212,.18);--calc-accent-line:rgba(245,158,11,.48);--calc-deep:#06121a;--calc-deep-2:#0b2531;--calc-panel-texture:linear-gradient(90deg,rgba(6,182,212,.08) 1px,transparent 1px),repeating-linear-gradient(0deg,rgba(245,158,11,.07) 0 5px,transparent 5px 20px),radial-gradient(circle at 75% 14%,rgba(14,165,233,.22),transparent 28%);}
body[data-calculator-theme="rigging"]{--calc-accent:#f59e0b;--calc-accent-2:#94a3b8;--calc-accent-soft:rgba(245,158,11,.18);--calc-accent-line:rgba(245,158,11,.50);--calc-deep:#111827;--calc-deep-2:#1f2937;--calc-panel-texture:linear-gradient(135deg,rgba(245,158,11,.12) 0 2px,transparent 2px 14px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);}
body[data-calculator-theme="lifting"]{--calc-accent:#fbbf24;--calc-accent-2:#64748b;--calc-accent-soft:rgba(251,191,36,.18);--calc-accent-line:rgba(251,191,36,.50);--calc-deep:#111827;--calc-deep-2:#263141;--calc-panel-texture:linear-gradient(90deg,rgba(251,191,36,.08) 1px,transparent 1px),repeating-linear-gradient(135deg,rgba(100,116,139,.08) 0 10px,transparent 10px 22px);}
body[data-calculator-theme="fastening"],body[data-calculator-theme="mechanical"],body[data-calculator-theme="machining"],body[data-calculator-theme="sawing"]{--calc-accent:#94a3b8;--calc-accent-2:#f6c45c;--calc-accent-soft:rgba(148,163,184,.18);--calc-accent-line:rgba(148,163,184,.46);--calc-deep:#0d1117;--calc-deep-2:#1b2430;--calc-panel-texture:linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.06) 1px,transparent 1px);}
body[data-calculator-theme="packaging"]{--calc-accent:#f6c45c;--calc-accent-2:#60a5fa;--calc-accent-soft:rgba(246,196,92,.18);--calc-accent-line:rgba(246,196,92,.48);--calc-deep:#11120c;--calc-deep-2:#252316;--calc-panel-texture:linear-gradient(90deg,rgba(246,196,92,.08) 1px,transparent 1px),repeating-linear-gradient(0deg,rgba(96,165,250,.07) 0 8px,transparent 8px 18px);}
body[data-calculator-theme="sticky"]{--calc-accent:#f6c45c;--calc-accent-2:#60a5fa;--calc-accent-soft:rgba(246,196,92,.18);--calc-accent-line:rgba(246,196,92,.48);--calc-deep:#11120c;--calc-deep-2:#252316;--calc-panel-texture:linear-gradient(90deg,rgba(246,196,92,.08) 1px,transparent 1px),repeating-linear-gradient(0deg,rgba(96,165,250,.07) 0 8px,transparent 8px 18px),radial-gradient(circle at 78% 18%,rgba(246,196,92,.15),transparent 28%);}
body[data-calculator-theme="case-packing"]{--calc-accent:#d6a15a;--calc-accent-2:#f97316;--calc-accent-soft:rgba(214,161,90,.18);--calc-accent-line:rgba(214,161,90,.48);--calc-deep:#130f0a;--calc-deep-2:#2b2114;--calc-panel-texture:linear-gradient(90deg,rgba(214,161,90,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(214,161,90,.06) 1px,transparent 1px),repeating-linear-gradient(135deg,rgba(249,115,22,.07) 0 5px,transparent 5px 18px);}
body[data-calculator-theme="layout"],body[data-calculator-theme="surface"],body[data-calculator-theme="volume"],body[data-calculator-theme="weighing"]{--calc-accent:#34d399;--calc-accent-2:#60a5fa;--calc-accent-soft:rgba(52,211,153,.16);--calc-accent-line:rgba(52,211,153,.44);--calc-deep:#071711;--calc-deep-2:#102c22;--calc-panel-texture:linear-gradient(45deg,rgba(52,211,153,.07) 25%,transparent 25%,transparent 50%,rgba(52,211,153,.07) 50%,rgba(52,211,153,.07) 75%,transparent 75%);}

body[data-calculator-theme="traction"]{--calc-accent:#f97316;--calc-accent-2:#facc15;--calc-accent-soft:rgba(249,115,22,.18);--calc-accent-line:rgba(250,204,21,.48);--calc-deep:#160f08;--calc-deep-2:#2b1c0f;--calc-panel-texture:repeating-linear-gradient(135deg,rgba(249,115,22,.10) 0 4px,transparent 4px 18px),radial-gradient(circle at 78% 18%,rgba(250,204,21,.16),transparent 28%);}
body[data-calculator-theme="physics"]{--calc-accent:#38bdf8;--calc-accent-2:#facc15;--calc-accent-soft:rgba(56,189,248,.18);--calc-accent-line:rgba(250,204,21,.42);--calc-deep:#07111f;--calc-deep-2:#111827;--calc-panel-texture:radial-gradient(circle at 16px 16px,rgba(56,189,248,.12) 0 1px,transparent 1.5px),radial-gradient(circle at 42px 32px,rgba(250,204,21,.10) 0 1px,transparent 1.5px);}
body[data-calculator-theme="chemistry"]{--calc-accent:#22c55e;--calc-accent-2:#a78bfa;--calc-accent-soft:rgba(34,197,94,.17);--calc-accent-line:rgba(167,139,250,.44);--calc-deep:#07140f;--calc-deep-2:#102217;--calc-panel-texture:radial-gradient(circle at 18px 18px,rgba(34,197,94,.12) 0 1px,transparent 1.5px),linear-gradient(90deg,rgba(167,139,250,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(34,197,94,.05) 1px,transparent 1px);}
body[data-calculator-theme="thermal"]{--calc-accent:#f97316;--calc-accent-2:#38bdf8;--calc-accent-soft:rgba(249,115,22,.18);--calc-accent-line:rgba(249,115,22,.46);--calc-deep:#160d08;--calc-deep-2:#2a190d;--calc-panel-texture:linear-gradient(180deg,rgba(249,115,22,.1),rgba(56,189,248,.06));}
body[data-calculator-theme="energy"]{--calc-accent:#facc15;--calc-accent-2:#22d3ee;--calc-accent-soft:rgba(250,204,21,.18);--calc-accent-line:rgba(34,211,238,.46);--calc-deep:#120f05;--calc-deep-2:#1f2610;--calc-panel-texture:radial-gradient(circle at 20% 20%,rgba(250,204,21,.16),transparent 26%),linear-gradient(135deg,rgba(34,211,238,.08),transparent),repeating-linear-gradient(90deg,rgba(250,204,21,.07) 0 2px,transparent 2px 18px);}
body[data-calculator-theme="green-sand"]{--calc-accent:#84cc16;--calc-accent-2:#a3a3a3;--calc-accent-soft:rgba(132,204,22,.16);--calc-accent-line:rgba(132,204,22,.46);--calc-deep:#101707;--calc-deep-2:#1e2b12;--calc-panel-texture:radial-gradient(circle,rgba(132,204,22,.1) 0 1px,transparent 1.5px);}
body[data-calculator-theme="patterns"]{--calc-accent:#d97706;--calc-accent-2:#84cc16;--calc-accent-soft:rgba(217,119,6,.18);--calc-accent-line:rgba(217,119,6,.48);--calc-deep:#140e08;--calc-deep-2:#2c1b0d;--calc-panel-texture:linear-gradient(90deg,rgba(217,119,6,.08) 1px,transparent 1px),repeating-linear-gradient(135deg,rgba(132,204,22,.06) 0 6px,transparent 6px 18px);}
body[data-calculator-theme="quality"]{--calc-accent:#22c55e;--calc-accent-2:#facc15;--calc-accent-soft:rgba(34,197,94,.17);--calc-accent-line:rgba(34,197,94,.46);--calc-deep:#07170f;--calc-deep-2:#10281a;--calc-panel-texture:linear-gradient(90deg,rgba(34,197,94,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(250,204,21,.06) 1px,transparent 1px),radial-gradient(circle at 78% 18%,rgba(250,204,21,.12),transparent 24%);}
body[data-calculator-theme="safety"]{--calc-accent:#facc15;--calc-accent-2:#ef4444;--calc-accent-soft:rgba(250,204,21,.18);--calc-accent-line:rgba(250,204,21,.5);--calc-deep:#171304;--calc-deep-2:#2a2308;--calc-panel-texture:repeating-linear-gradient(135deg,rgba(250,204,21,.09) 0 8px,rgba(239,68,68,.07) 8px 16px,transparent 16px 28px);}
body[data-calculator-theme="time"]{--calc-accent:#5eead4;--calc-accent-2:#818cf8;--calc-accent-soft:rgba(94,234,212,.16);--calc-accent-line:rgba(94,234,212,.46);--calc-deep:#061518;--calc-deep-2:#102a31;--calc-panel-texture:radial-gradient(circle at 50% 50%,rgba(94,234,212,.08),transparent 34%);}

.calculator-page .calc-hero{background:radial-gradient(circle at 16% 24%,var(--calc-accent-soft),transparent 28%),radial-gradient(circle at 76% 14%,color-mix(in srgb,var(--calc-accent-2) 18%,transparent),transparent 26%),linear-gradient(135deg,var(--calc-deep) 0%,var(--calc-deep-2) 62%,#152236 100%);}
.calculator-page .calc-hero::before{content:"";position:absolute;inset:0;background-image:var(--calc-panel-texture);background-size:28px 28px;opacity:.55;pointer-events:none;mix-blend-mode:screen;}
.calculator-page .calc-hero__grid{position:relative;z-index:1;}
.calculator-page .calc-pill--theme{background:linear-gradient(135deg,var(--calc-accent),var(--calc-accent-2));color:#07101d;border-color:rgba(255,255,255,.25);box-shadow:0 0 0 3px var(--calc-accent-soft),0 10px 28px color-mix(in srgb,var(--calc-accent) 22%,transparent);}
.calculator-page .calc-icon-panel{border-color:var(--calc-accent-line);box-shadow:0 24px 60px rgba(0,0,0,.25),0 0 0 1px color-mix(in srgb,var(--calc-accent) 15%,transparent),inset 0 1px 0 rgba(255,255,255,.12);background:linear-gradient(180deg,color-mix(in srgb,var(--calc-accent) 13%,rgba(255,255,255,.08)),rgba(255,255,255,.045));}
.calculator-page .calc-icon-frame{background:linear-gradient(135deg,color-mix(in srgb,var(--calc-accent) 14%,rgba(0,0,0,.22)),rgba(0,0,0,.2));border-color:var(--calc-accent-line);}
.calculator-page .calc-icon-frame img{filter:drop-shadow(0 16px 22px rgba(0,0,0,.34)) drop-shadow(0 0 18px color-mix(in srgb,var(--calc-accent) 35%,transparent));}
.calculator-page .calc-selector-card,.calculator-page .calc-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--calc-accent) 26%,rgba(15,23,42,.11));box-shadow:0 20px 58px rgba(0,0,0,.22);}
.calculator-page .calc-selector-card::before,.calculator-page .calc-card::before{content:"";position:absolute;inset:0 0 auto 0;height:7px;background:linear-gradient(90deg,var(--calc-accent),var(--calc-accent-2));}
.calculator-page .calc-selector-card::after,.calculator-page .calc-card::after{content:"";position:absolute;inset:7px 0 0 0;background-image:var(--calc-panel-texture);background-size:26px 26px;opacity:.12;pointer-events:none;}
.calculator-page .calc-selector-card > *,.calculator-page .calc-card > *{position:relative;z-index:1;}
.calculator-page .calc-active-label,.calculator-page .fc-kicker{color:color-mix(in srgb,var(--calc-accent) 82%,#b45309);}
.calculator-page .calc-choice:hover,.calculator-page .calc-choice.is-active{border-color:var(--calc-accent);box-shadow:0 0 0 3px var(--calc-accent-soft),0 14px 30px rgba(15,23,42,.12);}
.calculator-page .calc-choice.is-active{background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--calc-accent) 10%,#ffffff));}
.calculator-page .calc-input:focus,.calculator-page .calc-select:focus{outline-color:var(--calc-accent-soft);border-color:var(--calc-accent);}
.calculator-page .calc-run,.calculator-page .calc-contact-link{background:linear-gradient(135deg,var(--calc-accent),var(--calc-accent-2));color:#07101d;box-shadow:0 10px 24px color-mix(in srgb,var(--calc-accent) 20%,transparent);}
.calculator-page .calc-note{background:linear-gradient(135deg,color-mix(in srgb,var(--calc-accent) 12%,#edf5ff),#f8fafc);border-color:color-mix(in srgb,var(--calc-accent) 25%,rgba(37,99,235,.12));}
.calculator-page .calc-side-card{border-color:color-mix(in srgb,var(--calc-accent) 18%,rgba(15,23,42,.11));}
.calculator-page .calc-side-card--dark{background:linear-gradient(180deg,color-mix(in srgb,var(--calc-accent) 12%,var(--fc-panel)),var(--fc-panel-2));border-color:var(--calc-accent-line);}


/* Palletizer™ graphical alternating-pattern generator */
.pallet-pattern-card{background:linear-gradient(180deg,#f8fafc,#edf3f8);}
.pallet-pattern-workbench{padding:22px 24px 24px;display:grid;gap:18px;}
.pallet-pattern-form{display:grid;gap:14px;}
.pallet-pattern-inputs{grid-template-columns:repeat(4,minmax(0,1fr));}
.pallet-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;}
.pallet-view{background:linear-gradient(180deg,#0a1726,#0f2237);border:1px solid rgba(246,196,92,.24);border-radius:24px;padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 36px rgba(15,23,42,.18);}
.pallet-view__head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px;}
.pallet-view__head .fc-kicker{margin:0;color:#f6c45c;}
.pallet-view__head h3{margin:0;color:#fff;font-size:1.45rem;letter-spacing:-.02em;}
.pallet-svg-box{min-height:300px;border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(246,196,92,.12),transparent 35%),rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pallet-svg{width:100%;height:auto;display:block;max-height:390px;}
.pallet-outline{fill:rgba(246,196,92,.045);stroke:rgba(255,255,255,.72);stroke-width:2;stroke-dasharray:7 5;}
.pallet-footprint{fill:rgba(246,196,92,.06);stroke:rgba(246,196,92,.22);stroke-width:1.25;}
.pallet-top-guide{stroke:rgba(246,196,92,.16);stroke-width:1.25;stroke-dasharray:3 8;}
.pallet-dim{fill:#dbeafe;font-size:20px;font-weight:900;text-anchor:middle;letter-spacing:.02em;}
.case-g rect:first-child{fill:#d69a4b;stroke:#4a2b0d;stroke-width:2;filter:drop-shadow(0 5px 5px rgba(0,0,0,.22));}
.case-g .case-texture{fill:url(#corrugateLayerA);opacity:.28;stroke:none;}
.pallet-svg .case-v rect:first-child{fill:#c78136;}
.case-g line{stroke:rgba(70,39,14,.42);stroke-width:1.5;}
/* Top-down generator rule: no visible pallet side faces, deck-board edges, or fork-pocket openings in Layer A/B views. */
.pallet-pattern-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.pallet-summary-tile{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:14px 16px;display:grid;gap:5px;color:#132033;}
.pallet-summary-tile span{text-transform:uppercase;letter-spacing:.13em;color:#7c4a03;font-weight:950;font-size:.72rem;}
.pallet-summary-tile strong{font-size:1.2rem;color:#0f172a;}
.pallet-summary-tile small{color:#526174;line-height:1.35;}
.pallet-error{padding:24px;color:#fff;text-align:center;font-weight:900;line-height:1.4;}
@media(max-width:980px){.pallet-pattern-inputs{grid-template-columns:repeat(2,minmax(0,1fr));}.pallet-views,.pallet-pattern-summary{grid-template-columns:1fr;}}
@media(max-width:620px){.pallet-pattern-inputs{grid-template-columns:1fr;}.pallet-pattern-workbench{padding:18px 16px 20px;}.pallet-svg-box{min-height:240px;}}


/* Ladder™ PLC simulator — wide interactive symbolic rung view */
.ladder-sim-card{background:linear-gradient(180deg,#f8fbff,#edf3fb);}
.ladder-sim-workbench{display:grid;grid-template-columns:1fr;gap:18px;padding:22px 24px 24px;}
.ladder-sim-controls,.ladder-sim-output{background:#ffffff;border:1px solid rgba(15,23,42,.10);border-radius:24px;padding:18px;box-shadow:0 16px 42px rgba(15,23,42,.10);}
.ladder-sim-controls{display:grid;grid-template-columns:minmax(280px,360px) minmax(360px,1fr);gap:16px;align-items:stretch;}
.ladder-picker{margin:0;}
.ladder-example-meta{margin:0;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(34,197,94,.10),rgba(56,189,248,.08));border:1px solid rgba(34,197,94,.18);}
.ladder-example-meta h3{margin:.15rem 0 .3rem;color:#0f172a;font-size:1.15rem;}
.ladder-example-meta p{margin:0;color:#475569;line-height:1.45;}
.ladder-bit-controls[hidden]{display:none!important;}
.ladder-number-controls{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-top:0;}
.ladder-rung-graphic{min-height:420px;border-radius:24px;background:radial-gradient(circle at 18% 22%,rgba(34,197,94,.16),transparent 32%),linear-gradient(135deg,#06101b,#101827 68%,#132033);border:1px solid rgba(34,197,94,.22);padding:28px 30px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.ladder-rails{display:grid;grid-template-columns:clamp(8px,.8vw,12px) minmax(0,1fr) clamp(8px,.8vw,12px);gap:clamp(18px,2vw,30px);align-items:center;min-width:0;width:100%;}
.ladder-rail{height:clamp(250px,24vw,340px);border-left:clamp(5px,.55vw,8px) solid rgba(226,232,240,.88);border-radius:10px;box-shadow:0 0 18px rgba(56,189,248,.16);}
.ladder-line{width:100%;min-width:0;display:flex;align-items:center;justify-content:stretch;min-height:clamp(220px,21vw,300px);gap:0;position:relative;}
.ladder-wire{height:4px;min-width:8px;flex:1 1 28px;border-radius:99px;background:rgba(148,163,184,.42);box-shadow:none;transition:background .18s ease,box-shadow .18s ease;margin:0 -5px;position:relative;z-index:1;}
.ladder-wire.is-hot{background:#22c55e;box-shadow:0 0 15px rgba(34,197,94,.62);}
.ladder-wire.is-open{background:rgba(148,163,184,.40);}
.ladder-wire.is-cold{background:rgba(100,116,139,.34);}
.ladder-wire--lead,.ladder-wire--tail{flex-grow:.70;}
.ladder-device{appearance:none;-webkit-appearance:none;flex:0 1 clamp(74px,8.4vw,126px);min-width:0;border:0;background:transparent!important;border-radius:14px;padding:8px 4px;text-align:center;color:#e2e8f0;box-shadow:none;transition:color .18s ease,opacity .18s ease,filter .18s ease,transform .12s ease;position:relative;z-index:3;cursor:pointer;}
.ladder-device:hover{transform:translateY(-1px);filter:brightness(1.12);}
.ladder-device:focus-visible{outline:2px solid rgba(96,165,250,.9);outline-offset:5px;}
.ladder-device__type{display:block;font-size:clamp(.56rem,.72vw,.78rem);letter-spacing:.15em;text-transform:uppercase;color:#93c5fd;font-weight:950;opacity:.95;}
.ladder-symbol-mark{position:relative;height:clamp(44px,4.8vw,66px);margin:4px auto 6px;display:flex;align-items:center;justify-content:center;}
.ladder-symbol-mark::before,.ladder-symbol-mark::after{content:"";position:absolute;top:50%;height:4px;width:58%;border-radius:999px;background:rgba(148,163,184,.42);transform:translateY(-50%);z-index:0;transition:background .18s ease,box-shadow .18s ease,opacity .18s ease;}
.ladder-symbol-mark::before{right:50%;}
.ladder-symbol-mark::after{left:50%;}
.ladder-device.is-path-hot .ladder-symbol-mark::before,.ladder-device.is-path-hot .ladder-symbol-mark::after,.ladder-coil.is-on .ladder-symbol-mark::before,.ladder-coil.is-on .ladder-symbol-mark::after{background:#22c55e;box-shadow:0 0 15px rgba(34,197,94,.62);}
.ladder-device.is-path-break .ladder-symbol-mark::before{background:#22c55e;box-shadow:0 0 15px rgba(34,197,94,.62);}
.ladder-device.is-path-break .ladder-symbol-mark::after{background:#f59e0b;box-shadow:0 0 15px rgba(245,158,11,.56);}
.ladder-device.is-path-cold .ladder-symbol-mark::before,.ladder-device.is-path-cold .ladder-symbol-mark::after,.ladder-coil.is-off .ladder-symbol-mark::before,.ladder-coil.is-off .ladder-symbol-mark::after{background:rgba(100,116,139,.46);}
.contact-mark i,.contact-mark b,.contact-mark em,.coil-mark i,.coil-mark b{position:relative;z-index:2;}
.contact-mark{gap:clamp(16px,1.55vw,24px);}
.contact-mark i,.contact-mark b{display:block;width:clamp(4px,.34vw,6px);height:clamp(38px,4vw,56px);border-radius:999px;background:#94a3b8;box-shadow:none;transition:background .18s ease,box-shadow .18s ease,opacity .18s ease;}
.contact-mark em{display:none;position:absolute;width:clamp(4px,.34vw,6px);height:clamp(52px,5.4vw,74px);border-radius:999px;background:#94a3b8;transform:rotate(26deg);box-shadow:none;transition:background .18s ease,box-shadow .18s ease,opacity .18s ease;}
.ladder-contact.is-xio .contact-mark em{display:block;}
.coil-mark{width:clamp(52px,5.6vw,78px);}
.coil-mark i,.coil-mark b{position:absolute;top:50%;transform:translateY(-50%);width:clamp(22px,2.35vw,33px);height:clamp(42px,4.55vw,64px);border:clamp(4px,.34vw,6px) solid #94a3b8;border-top-color:transparent;border-bottom-color:transparent;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease;}
.coil-mark i{left:4px;border-right-color:transparent;border-radius:999px 0 0 999px;}
.coil-mark b{right:4px;border-left-color:transparent;border-radius:0 999px 999px 0;}
.ladder-device strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:.10rem 0 0;font-size:clamp(.62rem,.82vw,.92rem);letter-spacing:.015em;color:#e2e8f0;font-weight:950;}
.ladder-device small{display:block;color:#94a3b8;font-weight:850;font-size:clamp(.56rem,.72vw,.78rem);}
.ladder-contact.is-true .contact-mark i,.ladder-contact.is-true .contact-mark b,.ladder-contact.is-true .contact-mark em{background:#22c55e;box-shadow:0 0 18px rgba(34,197,94,.64),0 0 3px rgba(187,247,208,.90);}
.ladder-contact.is-true strong,.ladder-contact.is-true small{color:#bbf7d0;}
.ladder-contact.is-false{opacity:.84;}
.ladder-contact.is-false .contact-mark i,.ladder-contact.is-false .contact-mark b,.ladder-contact.is-false .contact-mark em{background:#64748b;opacity:.76;}
.ladder-contact.is-false strong{color:#cbd5e1;}
.ladder-contact.is-false small{color:#94a3b8;}
.ladder-contact.is-watchpoint.is-raw-on.is-false .contact-mark i,.ladder-contact.is-watchpoint.is-raw-on.is-false .contact-mark b,.ladder-contact.is-watchpoint.is-raw-on.is-false .contact-mark em,.ladder-contact.is-path-break .contact-mark i,.ladder-contact.is-path-break .contact-mark b,.ladder-contact.is-path-break .contact-mark em{background:#f59e0b;box-shadow:0 0 18px rgba(245,158,11,.58);opacity:1;}
.ladder-contact.is-watchpoint.is-raw-on.is-false strong,.ladder-contact.is-path-break strong{color:#fde68a;}
.ladder-coil.is-on .coil-mark i,.ladder-coil.is-on .coil-mark b{border-color:#22c55e;border-top-color:transparent;border-bottom-color:transparent;box-shadow:0 0 19px rgba(34,197,94,.64),0 0 3px rgba(187,247,208,.90);}
.ladder-coil.is-on strong,.ladder-coil.is-on small{color:#bbf7d0;}
.ladder-coil.is-off .coil-mark i,.ladder-coil.is-off .coil-mark b{border-color:#64748b;border-top-color:transparent;border-bottom-color:transparent;opacity:.76;}
.ladder-coil.is-off strong{color:#cbd5e1;}
.ladder-click-hint{width:min(100%,520px);margin:12px auto 2px;padding:10px 16px;border-radius:999px;background:#f8fafc;border:1px solid rgba(15,23,42,.12);color:#475569;font-weight:750;text-align:center;box-shadow:0 8px 24px rgba(15,23,42,.07);}
.ladder-click-hint span{margin-right:8px;color:#64748b;}
.ladder-sim-results{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.ladder-output-state{grid-column:1 / -1;border-radius:18px;padding:16px 18px;background:#f1f5f9;border:1px solid rgba(15,23,42,.10);}
.ladder-output-state span{display:block;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-size:.72rem;font-weight:950;}
.ladder-output-state strong{display:block;margin-top:4px;color:#334155;font-size:1.35rem;}
.ladder-output-state.is-on{background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(56,189,248,.10));border-color:rgba(34,197,94,.32);}
.ladder-output-state.is-on strong{color:#166534;}
@media(max-width:1080px){.ladder-sim-controls{grid-template-columns:1fr;}.ladder-number-controls,.ladder-sim-results{grid-template-columns:1fr 1fr;}.ladder-rung-graphic{min-height:300px;padding:18px;}.ladder-rails{gap:12px;}}
@media(max-width:620px){.ladder-sim-workbench{padding:18px 16px 20px;}.ladder-sim-controls,.ladder-sim-output{padding:14px;border-radius:20px;}.ladder-number-controls,.ladder-sim-results{grid-template-columns:1fr;}.ladder-rung-graphic{min-height:230px;padding:10px;}.ladder-rails{gap:6px;}.ladder-wire{min-width:4px;flex-basis:8px;height:3px;}.ladder-device{flex-basis:48px;border-radius:10px;padding:5px 1px;}.ladder-device strong{font-size:.48rem;}.ladder-device small{display:none;}.ladder-device__type{font-size:.44rem;}.contact-mark{gap:10px;}.contact-mark i,.contact-mark b{height:28px;}.contact-mark em{height:38px;}.coil-mark{width:38px;}.ladder-click-hint{border-radius:16px;font-size:.85rem;}}


/* Ladder™ polish: keep symbols on one baseline and keep live values close to timer/counter/coil element. */
.ladder-line{align-items:center;}
.ladder-device{display:grid;grid-template-rows:auto clamp(44px,4.8vw,66px) auto auto auto;align-items:center;justify-items:center;align-self:center;}
.ladder-symbol-mark{grid-row:2;margin:2px auto 4px;}
.ladder-device__type{grid-row:1;line-height:1;}
.ladder-device strong{grid-row:3;line-height:1.05;}
.ladder-device small{grid-row:5;line-height:1.05;margin-top:2px;}
.ladder-device__live{grid-row:4;display:inline-flex;align-items:center;justify-content:center;max-width:min(130px,100%);margin:4px auto 2px;padding:3px 7px;border-radius:999px;background:rgba(15,23,42,.66);border:1px solid rgba(96,165,250,.28);color:#dbeafe;font-size:clamp(.50rem,.62vw,.70rem);font-weight:900;letter-spacing:.025em;line-height:1.05;white-space:normal;text-align:center;box-shadow:0 0 14px rgba(96,165,250,.12);}
.ladder-coil.is-on .ladder-device__live{background:rgba(22,101,52,.52);border-color:rgba(34,197,94,.38);color:#bbf7d0;box-shadow:0 0 16px rgba(34,197,94,.22);}
.ladder-coil.is-off .ladder-device__live{background:rgba(30,41,59,.70);border-color:rgba(148,163,184,.24);color:#cbd5e1;}
@media(max-width:620px){.ladder-device__live{display:none;}}

/* Ladder node-aligned SVG renderer */
.ladder-rails--svg{display:block;width:100%;min-width:0;}
.ladder-svg{width:100%;height:auto;display:block;overflow:visible;}
.ladder-svg-bg{fill:transparent;}
.ladder-svg-rail{stroke:rgba(226,232,240,.88);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 10px rgba(56,189,248,.12));}
.ladder-svg-line,.ladder-svg-contact,.ladder-svg-coilmark{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke .18s ease,filter .18s ease,opacity .18s ease;}
.ladder-svg-line{stroke-width:5.5;}
.ladder-svg-contact{stroke-width:7;}
.ladder-svg-coilmark{stroke-width:7;}
.ladder-svg-node{transition:fill .18s ease,filter .18s ease,opacity .18s ease;}
.ladder-svg-line.state-hot,.ladder-svg-contact.state-hot,.ladder-svg-coilmark.state-hot{stroke:#22c55e;filter:drop-shadow(0 0 8px rgba(34,197,94,.72));}
.ladder-svg-node.state-hot{fill:#22c55e;filter:drop-shadow(0 0 7px rgba(34,197,94,.75));}
.ladder-svg-line.state-watch,.ladder-svg-contact.state-watch,.ladder-svg-coilmark.state-watch{stroke:#f59e0b;filter:drop-shadow(0 0 8px rgba(245,158,11,.68));}
.ladder-svg-node.state-watch{fill:#f59e0b;filter:drop-shadow(0 0 7px rgba(245,158,11,.70));}
.ladder-svg-line.state-cold,.ladder-svg-contact.state-cold,.ladder-svg-coilmark.state-cold{stroke:#64748b;opacity:.74;}
.ladder-svg-node.state-cold{fill:#64748b;opacity:.82;}
.ladder-svg-line.state-open{stroke:#475569;opacity:.72;}
.ladder-svg-node.state-open{fill:#475569;opacity:.78;}
.ladder-svg-device,.ladder-svg-coil{cursor:pointer;outline:none;}
.ladder-svg-device:focus .ladder-svg-contact,.ladder-svg-device:hover .ladder-svg-contact{filter:drop-shadow(0 0 10px rgba(96,165,250,.75));}
.ladder-svg-type{font-size:15px;letter-spacing:.16em;text-transform:uppercase;font-weight:950;fill:#93c5fd;}
.ladder-svg-address{font-size:14px;font-weight:900;fill:#dbeafe;opacity:.94;}
.ladder-svg-label{font-size:17px;font-weight:950;letter-spacing:.02em;fill:#e2e8f0;}
.ladder-svg-state{font-size:15px;font-weight:950;letter-spacing:.03em;fill:#94a3b8;}
.ladder-svg-state.is-true{fill:#86efac;}
.ladder-svg-state.is-false{fill:#cbd5e1;opacity:.86;}
.ladder-svg-live{font-size:12px;font-weight:950;letter-spacing:.025em;fill:#dbeafe;paint-order:stroke;stroke:#0f172a;stroke-width:5px;stroke-linejoin:round;}
.ladder-svg-live.is-on{fill:#bbf7d0;}
@media(max-width:620px){.ladder-svg-type{font-size:13px;}.ladder-svg-address{font-size:12px;}.ladder-svg-label{font-size:14px;}.ladder-svg-state{font-size:12px;}.ladder-svg-live{font-size:10px;}}

/* Ladder™ mobile visibility patch: keep the SVG rung visible and tall enough on phones. */
.ladder-rung-graphic .ladder-rails--svg{
  width:100%;
  min-width:0;
}
.ladder-rung-graphic .ladder-svg{
  width:100%;
  min-width:0;
}
@media(max-width:620px){
  .ladder-sim-card .ladder-rung-graphic{
    min-height:300px;
    padding:14px 10px;
    align-items:center;
    justify-content:center;
  }
  .ladder-sim-card .ladder-rails--svg{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:260px;
  }
  .ladder-sim-card .ladder-svg{
    display:block;
    height:clamp(235px,68vw,320px);
    max-width:100%;
    overflow:visible;
  }
}
@media(max-width:420px){
  .ladder-sim-card .ladder-rung-graphic{
    min-height:280px;
    padding:12px 8px;
  }
  .ladder-sim-card .ladder-rails--svg{
    min-height:245px;
  }
  .ladder-sim-card .ladder-svg{
    height:clamp(225px,74vw,300px);
  }
}

/* Ladder™ mobile scale-to-fit patch: keep the actual SVG rung visible inside the phone-width frame. */
.ladder-sim-card .ladder-rung-graphic{
  position:relative;
  width:100%;
}
.ladder-sim-card .ladder-rails--svg{
  width:100%;
  min-width:0;
  overflow:visible;
}
.ladder-sim-card .ladder-svg{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
@media(max-width:760px){
  .ladder-sim-card .ladder-rung-graphic{
    min-height:0!important;
    padding:12px 10px!important;
  }
  .ladder-sim-card .ladder-rails--svg{
    min-height:0!important;
    display:block!important;
  }
  .ladder-sim-card .ladder-svg{
    aspect-ratio:auto!important;
    transform:scale(.96);
    transform-origin:center center;
  }
  .ladder-sim-card .ladder-svg-type{font-size:12px;}
  .ladder-sim-card .ladder-svg-address{font-size:10.5px;}
  .ladder-sim-card .ladder-svg-label{font-size:12px;}
  .ladder-sim-card .ladder-svg-state{font-size:10.5px;}
  .ladder-sim-card .ladder-svg-live{font-size:9.5px;}
  .ladder-sim-card .ladder-svg-rail{stroke-width:5.5;}
  .ladder-sim-card .ladder-svg-line{stroke-width:4.25;}
  .ladder-sim-card .ladder-svg-contact,
  .ladder-sim-card .ladder-svg-coilmark{stroke-width:5.25;}
}
@media(max-width:430px){
  .ladder-sim-card .ladder-rung-graphic{
    padding:10px 6px!important;
  }
  .ladder-sim-card .ladder-svg{
    transform:scale(.91);
  }
  .ladder-sim-card .ladder-svg-type{font-size:10.5px;letter-spacing:.12em;}
  .ladder-sim-card .ladder-svg-address{font-size:9px;}
  .ladder-sim-card .ladder-svg-label{font-size:10px;}
  .ladder-sim-card .ladder-svg-state{font-size:9px;}
  .ladder-sim-card .ladder-svg-live{font-size:8.5px;}
}

/* Ladder™ mobile direct-simulator patch:
   When a tool has one calculator workspace, the generic selector is hidden in JS.
   These guards keep the active Ladder simulator visible and scaled on phone screens. */
@media(max-width:760px){
  body.calc-theme--logic #calculator-mount{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  body.calc-theme--logic #active-calculator{
    display:block;
    order:1;
    width:100%;
  }
  body.calc-theme--logic .ladder-sim-card{
    display:block!important;
    width:100%!important;
  }
  body.calc-theme--logic .ladder-sim-card .ladder-rung-graphic{
    width:100%!important;
    min-height:260px!important;
    overflow:visible!important;
  }
  body.calc-theme--logic .ladder-sim-card .ladder-svg{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-width:0!important;
    overflow:visible!important;
  }
}
