.hl-root{--c-matematik: var(--c-fizik, var(--accent));--hl-accent: var(--c-fizik, var(--accent));--hl-warn: #d97706;--hl-bad: #dc2626}[data-theme=dark] .hl-root{--hl-warn: #fbbf24;--hl-bad: #f87171}.hl-canvas svg{font-family:var(--font-body, inherit);-webkit-user-select:none;user-select:none}.hl-base{fill:#374151}[data-theme=dark] .hl-base{fill:#4b5563}.hl-boss{fill:#1f2937}[data-theme=dark] .hl-boss{fill:#6b7280}.hl-steel-line{fill:none;stroke:#6b7280;stroke-width:3;stroke-linecap:round}.hl-steel-ring{fill:none;stroke:#6b7280;stroke-width:2.5}.hl-coil-front,.hl-coil-back{fill:none;stroke-width:4;stroke-linecap:round}.hl-coil-front{stroke:#9ca3af}.hl-coil-back{stroke:#4b5563}[data-theme=dark] .hl-coil-front{stroke:#d1d5db}[data-theme=dark] .hl-coil-back{stroke:#6b7280}.hl-hanger{cursor:grab;touch-action:none}.hl-hanger:active{cursor:grabbing}.hl-hanger-rod,.hl-hanger-base{fill:#6b7280}.hl-disc{stroke:#00000040;stroke-width:.75}.hl-disc-slot{fill:#00000059}.hl-mass-label{fill:var(--ink);font-size:20px;font-weight:700;text-anchor:end;pointer-events:none}.hl-pointer{stroke:var(--hl-bad);stroke-width:2.5}.hl-pointer-tip{fill:var(--hl-bad)}.hl-ruler{fill:#f5e6c0;stroke:#b8945a;stroke-width:1.5}[data-theme=dark] .hl-ruler{fill:#d9c18e}.hl-ruler-tick{stroke:#3f2d14;stroke-width:1.2}.hl-ruler-num{fill:#3f2d14;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.hl-ruler-unit{fill:var(--ink-soft);font-size:16px;text-anchor:middle}.hl-graph-title{fill:var(--ink);font-size:22px;font-weight:700;text-anchor:middle}.hl-graph-bg{fill:var(--bg-card);stroke:var(--line);stroke-width:1.5}.hl-grid{stroke:var(--line);stroke-width:1}.hl-axis-num{fill:var(--ink-soft);font-size:16px;text-anchor:middle;font-variant-numeric:tabular-nums}.hl-axis-num--end{text-anchor:end}.hl-axis-label{fill:var(--ink-soft);font-size:18px;text-anchor:middle}.hl-ideal{stroke:var(--ink-soft);stroke-width:2;stroke-dasharray:8 6}.hl-ideal-label{fill:var(--ink-soft);font-size:18px;font-style:italic}.hl-weight{stroke:var(--hl-accent);stroke-width:1.5;stroke-dasharray:3 5}.hl-weight-label{fill:var(--hl-accent);font-size:16px;font-weight:600;text-anchor:end}.hl-limit{stroke:var(--hl-bad);stroke-width:2;stroke-dasharray:6 5;opacity:.7}.hl-limit-label{fill:var(--hl-bad);font-size:15px;font-weight:600;text-anchor:end}.hl-trace{fill:none;stroke:#ea580c;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;opacity:.85}.hl-dot{fill:#ea580c;stroke:var(--bg-card);stroke-width:3}.hl-status{margin:0;padding:.7rem .9rem;border-radius:10px;border-left:4px solid var(--hl-accent);background:var(--bg);font-size:.88rem;line-height:1.45;color:var(--ink-soft)}.hl-status.is-warn{border-left-color:var(--hl-warn)}.hl-status.is-bad{border-left-color:var(--hl-bad);color:var(--ink)}.hl-buttons{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.hl-action-btn{padding:.55rem 1.1rem;border-radius:999px;border:1px solid transparent;background:var(--c-fizik, var(--accent));color:var(--bg-card);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .12s ease,opacity .15s ease}.hl-action-btn--ghost{background:var(--bg-card);border-color:var(--line);color:var(--ink)}.hl-action-btn:hover{transform:translateY(-1px)}.hl-action-btn:focus-visible{outline:2px solid var(--c-fizik, var(--accent));outline-offset:2px}@media(prefers-reduced-motion:reduce){.hl-action-btn{transition:none}}
