/* Softineo: automatyzacja ważenia. Tylko to, czego nie ma w demo.css:
   trzy układy stacji (mini-sceny z js/kontrola-ruchu.js) i odnośniki do symulacji. */
.configs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 40px); margin-top: clamp(28px, 3.5vw, 52px); }
.config { display: flex; flex-direction: column; }
.config-scene { border: 1.5px solid var(--ink); background: var(--paper-hi); margin-bottom: 18px; }
.mini-scene { display: block; width: 100%; height: auto; }
.mini-scene text { font-family: var(--tech); }
.config h3 { font-size: clamp(21px, 1.6vw, 26px); margin-bottom: 10px; }
.config p { color: var(--ink-2); max-width: 52ch; }
.config .config-for { margin-top: auto; margin-bottom: 0; padding-top: 10px; border-top: 1px solid var(--line-2); font-size: 15px; }
.config .config-for b { color: var(--ink); }
.mn-road { fill: none; stroke: var(--ink-2); stroke-width: 34; }
.mn-road-in { fill: none; stroke: #d5dce3; stroke-width: 31.5; }
.mn-road-s { fill: none; stroke: var(--ink-2); stroke-width: 26; }
.mn-road-s-in { fill: none; stroke: #d5dce3; stroke-width: 23.5; }
.mn-route { fill: none; stroke: var(--y); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.mn-lbl { font-size: 11.5px; fill: var(--ink-2); letter-spacing: .03em; }
.mn-lbl-b { fill: var(--ink); font-size: 12px; letter-spacing: .06em; }
.mn-doc { font-size: 15px; fill: var(--ink); }
.mn-cone { fill: var(--y); }
.mn-boom { stroke-width: 4; }
.mn-disp-s { font-size: 11px; }
/* lampka wagi: kolory ustawia js/kontrola-ruchu.js, tu przełożone na paletę rysunku */
#m2-light[fill="#4caf50"], #m2-light[fill="#2f6b34"] { fill: var(--ok); }
#m2-light[fill="#1f5f22"], #m2-light[fill="#d6dde4"] { fill: var(--paper-lo); }
#m2-light { transition: fill .3s var(--ease-out); }
.sim-refs { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--ink); }
.sim-refs a {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 4px;
  border-bottom: 1px solid var(--ink); text-decoration: none; font-weight: 700; font-size: clamp(17px, 1.25vw, 20px);
  transition: background-color .2s var(--ease-out);
}
.sim-refs a::after {
  content: ""; flex: none; width: 18px; height: 10px; background: currentColor; transition: transform .3s var(--ease-out);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10'%3E%3Cpath d='M0 5h16M12 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10'%3E%3Cpath d='M0 5h16M12 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sim-refs a:hover { background: var(--paper-hi); }
.sim-refs a:hover::after { transform: translateX(3px); }
@media (max-width: 1000px) {
  .configs { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .configs { grid-template-columns: 1fr; }
}
