/* ---------- калькулятор ---------- */
.calc{padding:22px; background:var(--w-surface, rgba(5,8,18,.88))}
.calc-form{display:flex; gap:11px; flex-wrap:wrap; align-items:flex-end; margin-top:16px}
.field{display:flex; flex-direction:column; gap:8px; flex:1; min-width:168px}
.field label{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted)}
.field input{font-family:'JetBrains Mono',monospace; font-size:17px; letter-spacing:.06em; font-weight:500;
  padding:15px 17px; border:1px solid var(--brd2); border-radius:14px;
  background:var(--w-field, rgba(3,4,10,.55)); color:var(--head); width:100%}
.field input::placeholder{color:var(--w-cap, #5C6689)}
.note{margin-top:14px; font-size:13px; color:var(--muted)}
.mtx{width:100%; max-width:352px; height:auto; display:block; margin:18px auto 0; overflow:visible}
.mtx .self{stroke:var(--w-self, rgba(227,192,138,.5)); stroke-width:1.1}
.mtx .rod{stroke:var(--w-rod, rgba(126,158,255,.42)); stroke-width:1; stroke-dasharray:4 6}
.mtx circle.n-self{fill:var(--w-node, #0A0E1C); stroke:var(--w-self-node, rgba(227,192,138,.72)); stroke-width:1.4}
.mtx circle.n-rod{fill:var(--w-node, #0A0E1C); stroke:var(--w-rod-node, rgba(126,158,255,.6)); stroke-width:1.2}
.mtx circle.core{fill:var(--w-node, #0A0E1C); stroke:var(--gold); stroke-width:1.8;
  filter:drop-shadow(0 0 14px rgba(227,192,138,.7))}
.mtx text{font-family:'JetBrains Mono',monospace; font-weight:500; text-anchor:middle; dominant-baseline:central}
.mtx .num{fill:var(--w-num, #F6F1E6); font-size:17px}
.mtx .num-rod{fill:var(--w-num-rod, #D3DDFF); font-size:15px}
.mtx .ctext{font-size:26px; fill:var(--gold)}
.mtx .cap{font-family:'Manrope',sans-serif; font-size:11px; font-weight:600;
  fill:var(--w-cap, #8A95BA); letter-spacing:.02em}
.mtx .cap-core{fill:var(--w-core, #C8AE84); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase}
.mkey{display:flex; gap:18px; flex-wrap:wrap; justify-content:center; margin-top:14px; font-size:11px; color:var(--muted)}
.mkey span{display:flex; align-items:center; gap:7px}
.mkey i{width:16px; height:0; border-top:1.4px solid; font-style:normal}
.mkey .k-self{border-color:rgba(227,192,138,.8)}
.mkey .k-rod{border-color:rgba(126,158,255,.75); border-top-style:dashed}
.lg-toggle{display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  margin-top:16px; padding:13px 15px; border:1px solid var(--brd2); border-radius:13px;
  background:var(--w-field, rgba(140,160,220,.06)); color:var(--txt); cursor:pointer;
  font-family:'Manrope',sans-serif; font-size:14px; font-weight:600; transition:background .2s}
.lg-toggle:hover{background:rgba(140,160,220,.13)}
.lg-toggle .cnt{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); font-weight:500}
.lg-toggle .chev{transition:transform .4s cubic-bezier(.22,.9,.3,1); color:var(--gold); flex-shrink:0}
.lg-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.legend-wrap{display:grid; grid-template-rows:0fr; transition:grid-template-rows .45s cubic-bezier(.22,.9,.3,1)}
.legend-wrap.open{grid-template-rows:1fr}
.legend-wrap > div{overflow:hidden}
.legend{padding-top:14px}
.lg-group{margin-bottom:14px}
.lg-group:last-child{margin-bottom:0}
.lg-title{font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--w-cap, #6F7A9E); margin-bottom:7px}
.lg-row{display:flex; align-items:baseline; gap:10px; padding:4px 0; font-size:13px;
  border-bottom:1px solid var(--w-border-soft, rgba(170,190,255,.06))}
.lg-row:last-child{border-bottom:none}
.lg-row .pos{color:var(--muted); flex:1}
.lg-row .val{font-family:'JetBrains Mono',monospace; color:var(--w-num, #F0EAdc); font-weight:500; white-space:nowrap}
.lg-row .val b{color:var(--gold); font-weight:500}
.unlock{margin-top:18px; border:1px solid var(--w-unlock-brd, rgba(227,192,138,.3)); border-radius:14px; padding:15px 17px;
  display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  background:var(--w-unlock-bg, linear-gradient(180deg,rgba(227,192,138,.1),transparent))}
.unlock p{font-size:13px; color:var(--muted); max-width:30ch}
.unlock .price{font-family:'JetBrains Mono',monospace; font-size:19px; color:var(--gold)}