.lg-top{align-items:flex-end;gap:14px}
.lg-count{width:120px;flex:none}
.lg-quick{display:grid;gap:6px;flex:1 1 220px}
.lg-quick .chip{min-height:36px}
.lg-fields{display:grid;gap:8px}
@media (min-width:700px){.lg-fields{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}}
.lg-field{display:grid;grid-template-columns:28px minmax(0,1fr) 14px minmax(0,1fr);gap:8px;align-items:center}
.lg-field .input{min-height:42px;padding:8px 10px}
.lg-arrow{color:var(--faint);text-align:center}
.lg-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800}
.lg-dot.sm{width:12px;height:12px;flex:none}
.lg-cols{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:4px}
.lg-name,.lg-res{min-height:40px;border-radius:10px;font-size:clamp(11px,3.2vw,14px);font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.lg-name{border:2px solid var(--c);background:var(--surface);color:var(--text);cursor:pointer;transition:transform .12s,background .15s}
.lg-name:hover{transform:translateY(-2px)}
.lg-name.done{background:var(--c);color:#fff}
.lg-res{background:var(--surface-2);color:var(--faint);border:2px dashed var(--border);font-size:clamp(13px,3.6vw,16px)}
.lg-res.open{background:var(--surface);color:var(--text);border:2px solid var(--c);animation:lg-pop .35s ease-out}
.lg-res.open.win{background:var(--c);color:#fff}
.lg-svg{display:block;width:100%;height:300px;margin:6px 0}
@media (min-width:700px){.lg-svg{height:360px}}
.lg-rail{stroke:var(--faint);stroke-width:3;stroke-linecap:round;opacity:.65}
.lg-path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.lg-tip{margin:10px 0 0}
.lg-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
@media (min-width:600px){.lg-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lg-list li{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2);border-radius:10px;min-width:0}
.lg-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-r{margin-left:auto;font-weight:700}
.lg-r.win{color:var(--good)}
@keyframes lg-pop{0%{transform:scale(.6)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.lg-res.open{animation:none}.lg-name{transition:none}}

.lg-dot{color:#111827;background-image:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55))}
