.px-canvas{position:relative;display:flex;flex-direction:column;min-height:520px;background:#05060a;border:1px solid var(--line)}.px-canvas .cs-status{color:#f1f5f9}.px-stage{position:relative;flex:1 1 auto;min-height:420px;overflow:hidden}.px-cv{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none;display:block}.px-cv:active{cursor:grabbing}.px-hint{margin:0;padding:.4rem 0 .7rem;color:#f1f5f999;font-size:.75rem;font-weight:600;text-align:center}.px-pick{display:flex;flex-direction:column;gap:.3rem}.px-pickrow{display:flex;align-items:center;gap:.6rem}.px-swatch{width:2.2rem;height:2.2rem;border-radius:8px;border:1px solid var(--line);flex:0 0 auto}.px-swatch--lg{width:100%;height:3rem}.px-rgb{font-size:.85rem;color:var(--ink)}.px-note{color:var(--ink-soft);font-size:.82rem}.px-readout,.cp-viewer--full .px-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.px-bigsw{display:inline-block;padding:.15rem .6rem;border-radius:8px;border:1px solid var(--line)}.px-result{display:flex}.px-lbl{fill:var(--ink);font-size:15px;font-weight:750;text-anchor:middle}.px-lbl--sm{font-size:12.5px}.px-small{fill:var(--ink-soft);font-size:12px;font-weight:650;text-anchor:middle}.px-val{fill:var(--ink);font-size:16px;font-weight:750;text-anchor:middle}.px-black{fill:#05060a}.px-arrow{stroke:var(--ink-soft);stroke-width:2.5;stroke-dasharray:8 6}.px-arrowhead{fill:var(--ink-soft)}.px-backlight{fill:#fef9c3;stroke:#eab308;stroke-width:1.5}.px-ray{stroke:#fde68a;stroke-width:10;stroke-linecap:round}[data-theme=dark] .px-ray{stroke:#fef3c7}.px-pol{fill:color-mix(in srgb,var(--ink) 8%,var(--bg));stroke:var(--ink-soft);stroke-width:1}.px-polline{stroke:var(--ink-soft);stroke-width:1.2}.px-lcbox{fill:color-mix(in srgb,#38bdf8 10%,var(--bg));stroke:var(--ink-soft);stroke-width:1}.px-rod{stroke:#0284c7;stroke-width:6;stroke-linecap:round}.px-out{stroke:var(--line);stroke-width:1}.px-tft{fill:color-mix(in srgb,var(--ink) 10%,var(--bg));stroke:var(--ink-soft)}.px-wire{stroke:var(--ui-accent);stroke-width:4}.px-oled{stroke:var(--line)}.px-glass{fill:color-mix(in srgb,#93c5fd 18%,transparent);stroke:#93c5fd}@media(max-width:600px){.px-canvas{min-height:400px}.px-stage{min-height:320px}.px-lbl{font-size:18px}.px-lbl--sm,.px-small{font-size:15px}}
