.lm-card { display:grid; gap:16px; padding:clamp(16px,2.4vw,30px); min-width:0; background:#111b16; border:1px solid #304035; border-radius:18px; }
.lm-header { display:flex; gap:16px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.lm-header h2 { margin:6px 0 0; font-size:clamp(23px,2.4vw,34px); letter-spacing:-.04em; }
.lm-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.lm-field { display:grid; flex:1 1 145px; min-width:0; gap:6px; color:var(--muted); font-size:.72rem; }
.lm-field input,.lm-field select { box-sizing:border-box; min-width:0; max-width:100%; width:100%; min-height:39px; border:1px solid #38473c; border-radius:9px; padding:8px; background:#111814; color:#f1f0e6; font:inherit; font-size:.82rem; }
.lm-button { border:1px solid #536644; background:#1d2d1e; color:#d7fa81; border-radius:999px; padding:10px 16px; cursor:pointer; font:inherit; font-size:.8rem; }
.lm-button:disabled { opacity:.5; cursor:wait; }
.lm-pitch { display:block; width:100%; max-width:700px; margin-inline:auto; border-radius:12px; }
.lm-grass { fill:#0c2217; }
.lm-line { fill:none; stroke:#b0c5b080; stroke-width:.35; }
.lm-pass-line { stroke:#efb876; stroke-width:.5; stroke-dasharray:1.5 1; }
.lm-origin { fill:#d7fa81; stroke:#101811; stroke-width:.35; }
.lm-end { fill:#efb876; stroke:#101811; stroke-width:.35; }
.lm-pitch[role=application] { cursor:crosshair; touch-action:pan-y; }
.lm-pitch:focus-visible { outline:2px solid #d7fa81; outline-offset:2px; }
.lm-summary { color:#d7fa81; margin:0; font:500 .9rem/1.5 var(--font-sans,inherit); font-variant-numeric:tabular-nums; }
.lm-note,.lm-legend { margin:0; color:var(--muted,#a1ada1); font-size:.78rem; line-height:1.6; }
.lm-legend { border-left:3px solid #d7fa81; padding-left:10px; }
.lm-empty { margin:0; padding:14px; border:1px dashed #526344; border-radius:10px; color:#c5cbc0; font-size:.85rem; line-height:1.6; }
.lm-details { min-width:0; font-size:.82rem; }
.lm-details summary { cursor:pointer; color:#c5cbc0; }
.lm-scroll { max-width:100%; overflow-x:auto; margin-top:12px; }
.lm-scroll table { border-collapse:collapse; width:100%; min-width:650px; font-size:.76rem; }
.lm-scroll td,.lm-scroll th { padding:10px; border-bottom:1px solid #304035; text-align:left; font-variant-numeric:tabular-nums; }
.lm-scroll th { color:#d7fa81; font-weight:500; }
.lm-capture { display:grid; gap:16px; padding-top:22px; border-top:1px solid #304035; min-width:0; }
.lm-review { display:flex; gap:9px; font-size:.82rem; align-items:start; }
.lm-review input { width:17px; height:17px; flex:0 0 auto; accent-color:#d7fa81; }
.lm-records { display:grid; gap:8px; list-style:none; padding:0; margin:0; }
.lm-records li { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.8rem; overflow-wrap:anywhere; }
@media(max-width:500px) { .lm-card { padding:14px; } .lm-field { flex-basis:130px; } .lm-header h2 { font-size:25px; } }
