.signal-lab{--void:#030817;--panel:#071326;--line:#1c2c47;--line-soft:#142238;--line-strong:#4a5d7c;--muted:#94a7c3;--ink:#f1f5ff;--green:#00f5a0;--green-bright:#66ffc6;--green-rgb:0 245 160;--head-w:96px;scroll-margin-top:1rem}.signal-lab__panel{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-direction:column;gap:16px;padding:16px;display:flex}@media (width>=48rem){.signal-lab__panel{padding:24px}}.signal-lab__controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.signal-lab__play{background:var(--green);width:44px;height:44px;color:var(--void);cursor:pointer;border:0;border-radius:0;flex:none;place-items:center;padding:0;transition:background-color .12s ease-out,box-shadow .12s ease-out;display:grid}.signal-lab__play:hover:not(:disabled){background:var(--green-bright);box-shadow:0 12px 28px -12px rgb(var(--green-rgb) / .7)}.signal-lab__play:disabled{cursor:not-allowed;opacity:.45}.signal-lab__icon{fill:currentColor;width:18px;height:18px}.signal-lab__play[data-playing=true] .signal-lab__icon--play,.signal-lab__play[data-playing=false] .signal-lab__icon--stop{display:none}.signal-lab__starters{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;display:flex}.signal-lab__chip{cursor:pointer;display:inline-flex;position:relative}.signal-lab__chip-face{border:1px solid var(--line);background:var(--void);min-height:44px;color:var(--muted);white-space:nowrap;border-radius:2px;align-items:center;padding:0 12px;font-size:.75rem;transition:border-color .12s ease-out,color .12s ease-out;display:inline-flex}@media (width>=40rem){.signal-lab__chip-face{min-height:32px}}.signal-lab__chip:hover .signal-lab__chip-face{border-color:var(--line-strong);color:var(--ink)}.signal-lab__chip-input:checked+.signal-lab__chip-face{border-color:var(--line-strong);background:var(--line-soft);color:var(--ink)}.signal-lab__chip-input:focus-visible+.signal-lab__chip-face{outline:2px solid var(--green);outline-offset:2px}.signal-lab__lanes{border:1px solid var(--line);background:var(--void);border-radius:2px;font-size:.75rem;position:relative;overflow:hidden}.signal-lab__lanes:empty{display:none}.signal-lab__lane{grid-template-columns:var(--head-w) minmax(0, 1fr);border-bottom:1px solid var(--line-soft);height:40px;display:grid}.signal-lab__lane:last-of-type{border-bottom:0}.signal-lab__lane-head{border-right:1px solid var(--line);background:var(--panel);align-items:center;gap:8px;min-width:0;padding:0 10px;display:flex}.signal-lab__swatch{background:var(--hue);flex:none;width:4px;height:22px}.signal-lab__lane-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.signal-lab__strip{display:block;position:relative;overflow:hidden}.signal-lab .lab-grid-line{background:var(--line-soft);width:1px;position:absolute;top:0;bottom:0}.signal-lab .lab-grid-line--bar{background:var(--line-strong);opacity:.6}.signal-lab .lab-mark{background:color-mix(in srgb, var(--hue) 62%, var(--panel));pointer-events:none;border-radius:2px;position:absolute}.signal-lab .lab-mark--tick{height:56%;top:50%;transform:translateY(-50%)}.signal-lab .lab-mark--tick.is-soft{height:24%}.signal-lab .lab-mark--note{height:6px}.signal-lab .lab-mark--note.is-soft{background:color-mix(in srgb, var(--hue) 38%, var(--panel))}.signal-lab .lab-mark--chord{background:color-mix(in srgb, var(--hue) 36%, var(--panel));height:24px;color:var(--ink);white-space:nowrap;align-items:center;padding:0 6px;font-size:.6875rem;font-weight:600;display:flex;top:50%;overflow:hidden;transform:translateY(-50%)}.signal-lab .lab-mark.is-hit{background:var(--hue)}.signal-lab__playhead{top:0;bottom:0;left:calc(var(--head-w) + (100% - var(--head-w)) * var(--pos,0));z-index:2;background:var(--green);pointer-events:none;width:2px;margin-left:-1px;position:absolute}.signal-lab__playhead[hidden]{display:none}@media (width<=47.999rem){.signal-lab{--head-w:76px}.signal-lab .lab-mark--chord{padding:0 3px;font-size:.6875rem}}.home-landscape{background:radial-gradient(60% 14% at 66% 52%,#ff714529,#0000 70%),radial-gradient(90% 22% at 60% 52%,#ff28d724,#0000 72%),linear-gradient(#030817 0%,#060a22 30%,#170b3c 49%,#2e0d4c 51.5%,#0d0a2c 53%,#060a22 72%,#030817 100%);height:min(100svh,980px)}@media (width>=64rem){.home-landscape{height:clamp(56rem,100svh,61.25rem)}}.home-landscape canvas{width:100%;height:100%;position:absolute;inset:0}.home-landscape-crt{background-image:repeating-linear-gradient(#94a7c309 0 1px,#0000 1px 3px);position:absolute;inset:0}.home-copy-scrim{background:radial-gradient(closest-side,#030817b8,#0308179e 62%,#03081740 86%,#0000)}.home-landscape-floor{inset:var(--home-landscape-floor,100%) 0 0;background:linear-gradient(#0000,#030817e6 64px);position:absolute}.home-landscape:after{content:"";background:linear-gradient(#0000,#030817);height:22%;position:absolute;inset:auto 0 0}@media (width<=63.999rem){.home-landscape canvas{opacity:.8}}.home-headline-accent{color:#00f5a0;text-shadow:-1px 0 #00d9ff52,1px 0 #ff28d74d;animation:11s ease-in-out infinite alternate home-chromatic-drift}@keyframes home-chromatic-drift{0%{text-shadow:-1px 0 #00d9ff52,1px 0 #ff28d74d}50%{text-shadow:-1.5px .5px #00d9ff42,1.5px -.5px #ff28d73d}to{text-shadow:-.5px -.5px #00d9ff59,.5px .5px #ff28d754}}@media (prefers-reduced-motion:reduce){.home-headline-accent{animation:none}}.project-card{border:1px solid color-mix(in srgb, var(--card-from) 40%, transparent);background-color:#071326cc;border-radius:4px;transition:border-color .2s,box-shadow .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}.project-card:hover,.project-card:focus-within{border-color:color-mix(in srgb, var(--card-from) 90%, transparent);box-shadow:0 18px 40px -18px color-mix(in srgb, var(--card-from) 55%, transparent);transform:translateY(-2px)}.project-card-tile{border-color:color-mix(in srgb, var(--card-from) 65%, transparent);color:var(--card-from);background-color:#030817}.project-card-band{height:8.125rem}.project-card-band canvas{width:100%;height:100%;position:absolute;inset:0}.project-card-band-fallback{background:repeating-linear-gradient(to bottom, transparent 0, transparent 11px, color-mix(in srgb, var(--card-to) 30%, transparent) 11px, color-mix(in srgb, var(--card-to) 30%, transparent) 12px), linear-gradient(to right, color-mix(in srgb, var(--card-from) 26%, transparent), color-mix(in srgb, var(--card-to) 26%, transparent));position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 75%);mask-image:linear-gradient(#0000,#000 75%)}.tool-card{transition:border-color .2s}.tool-card:hover,.tool-card:focus-visible{border-color:color-mix(in srgb, var(--tool-hue) 70%, transparent)}.tool-card-tile{border-color:color-mix(in srgb, var(--tool-hue) 50%, transparent);color:var(--tool-hue);background-color:#030817}@media (prefers-reduced-motion:reduce){.project-card:hover,.project-card:focus-within{transform:none}}
