.pendulum-lab{--pl-panel:var(--surface,#fff);--pl-ink:var(--ink,#17202a);--pl-muted:var(--muted,#607080);--pl-line:var(--line,#d4dde5);--pl-accent:var(--accent,#1269a8);--pl-accent-soft:var(--accent-soft,#ddecf7);--pl-stage:#0e1420;color:var(--pl-ink);gap:16px;display:grid}.pendulum-lab *{box-sizing:border-box}.pendulum-lab [hidden]{display:none!important}.pendulum-lab__bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pendulum-lab__segmented{border:1px solid var(--pl-line);background:var(--pl-panel);border-radius:10px;align-items:center;gap:4px;padding:5px 8px;display:inline-flex}.pendulum-lab__segmented>span[data-arm-buttons]{gap:4px;display:inline-flex}.pendulum-lab__legend{letter-spacing:.12em;text-transform:uppercase;color:var(--pl-muted);margin-right:2px;font-size:.7rem}.pendulum-lab button{color:var(--pl-ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 12px;font-size:.88rem}.pendulum-lab button:hover:not(:disabled){background:var(--pl-accent-soft)}.pendulum-lab button:disabled{opacity:.45;cursor:not-allowed}.pendulum-lab button.is-active{background:var(--pl-accent);color:#fff;font-weight:600}.pendulum-lab .pendulum-lab__primary,.pendulum-lab [data-restart],.pendulum-lab [data-train],.pendulum-lab [data-upload],.pendulum-lab [data-export-csv],.pendulum-lab [data-export-json],.pendulum-lab [data-export-full]{border-color:var(--pl-line);padding:8px 16px}.pendulum-lab .pendulum-lab__primary{background:var(--pl-accent);border-color:var(--pl-accent);color:#fff;font-weight:600}.pendulum-lab .pendulum-lab__primary.is-running{background:#b4552f;border-color:#b4552f}.pendulum-lab__readout{color:var(--pl-muted);gap:14px;margin:0 0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;display:flex}.pendulum-lab__controls{flex-wrap:wrap;gap:18px;display:flex}.pendulum-lab__slider{color:var(--pl-muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.pendulum-lab__slider input[type=range]{width:170px;accent-color:var(--pl-accent)}.pendulum-lab__slider output{color:var(--pl-ink);min-width:66px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.pendulum-lab__panel{border:1px solid var(--pl-line);background:var(--pl-panel);border-radius:14px;margin:0;padding:16px}.pendulum-lab__caption{letter-spacing:.12em;text-transform:uppercase;color:var(--pl-muted);margin-bottom:10px;font-size:.72rem;display:block}.pendulum-lab__label{color:var(--pl-muted);max-width:70ch;margin-bottom:8px;font-size:.82rem;display:block}.pendulum-lab textarea{resize:vertical;border:1px solid var(--pl-line);background:var(--surface-2,#eef3f7);width:100%;min-height:132px;color:var(--pl-ink);border-radius:10px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.5}.pendulum-lab__row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.pendulum-lab__row--split{justify-content:space-between;margin-top:0}.pendulum-lab canvas{border-radius:10px;width:100%;display:block}.pendulum-lab__stage canvas{background:var(--pl-stage)}.pendulum-lab__keys{color:var(--pl-muted);flex-wrap:wrap;gap:16px;margin:12px 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.pendulum-lab__keys li{align-items:center;gap:7px;display:flex}.pendulum-lab__swatch{border-top:3px dashed var(--swatch,currentColor);width:20px}.pendulum-lab__swatch--solid{border-top-style:solid;border-top-color:var(--pl-ink)}.pendulum-lab__charts{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;display:grid}.pendulum-lab__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.pendulum-lab__card{border:1px solid var(--pl-line);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.pendulum-lab__card strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem}.pendulum-lab__card span{color:var(--pl-muted);font-size:.72rem}.pendulum-lab__table-scroll{overflow-x:auto}.pendulum-lab table{border-collapse:collapse;width:100%;font-size:.84rem}.pendulum-lab th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--pl-muted);border-bottom:1px solid var(--pl-line);white-space:nowrap;padding:8px 12px;font-size:.7rem}.pendulum-lab td,.pendulum-lab tbody th{border-bottom:1px solid var(--pl-line);white-space:nowrap;text-transform:none;letter-spacing:0;color:var(--pl-ink);padding:9px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:400}.pendulum-lab__degrees{color:var(--pl-muted);margin-left:8px;font-size:.72rem}.pendulum-lab__dot{background:var(--dot,currentColor);border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.pendulum-lab__note{color:var(--pl-muted);max-width:82ch;margin:12px 0 0;font-size:.8rem;line-height:1.55}.pendulum-lab__note[data-kind=success]{color:var(--success,#226b4b)}.pendulum-lab__note[data-kind=warning]{color:var(--warning,#8a5a00)}.pendulum-lab__note[data-kind=error]{color:var(--danger,#a02d2d)}.pendulum-lab__status{min-height:1.3em;color:var(--pl-muted);margin:0;font-size:.82rem}.pendulum-lab__status[data-kind=success]{color:var(--success,#226b4b)}.pendulum-lab__status[data-kind=error]{color:var(--danger,#a02d2d)}@media (width<=640px){.pendulum-lab__readout{width:100%;margin-left:0}.pendulum-lab__cards{grid-template-columns:1fr}}@media print{.pendulum-lab__bar,.pendulum-lab__controls,.pendulum-lab__data,.pendulum-lab__row{display:none!important}}
