:root{--paper:#efece5;--paper-2:#e5e1d8;--ink:#111113;--ink-2:#55534e;--ink-3:#8e8a82;--line:#1111131f;--signal:#ff5a1f;--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0f0f11;--paper-2:#18181b;--ink:#ece8df;--ink-2:#a8a39a;--ink-3:#6d6a64;--line:#ece8df1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;font-size:14px;line-height:1.45}body[data-view=instrument]{overflow:hidden}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--signal);color:#fff}.gallery{max-width:1320px;margin:0 auto;padding:28px 32px 48px}.gallery__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.wordmark{letter-spacing:-.03em;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.wordmark__glyph{border:3px solid var(--signal);border-radius:50%;width:22px;height:22px;position:relative}.wordmark__glyph:after{content:"";background:var(--ink);transform-origin:-3px 14px;border-radius:50%;width:7px;height:7px;animation:6s linear infinite orbit-glyph;position:absolute;top:-6px;right:-6px}@keyframes orbit-glyph{to{transform:rotate(360deg)}}.gallery__meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);gap:20px;font-size:11px;display:flex}.gallery__intro{grid-template-columns:1.3fr 1fr;align-items:end;gap:48px;padding:64px 0 44px;display:grid}.gallery__intro h2{letter-spacing:-.045em;margin:0;font-size:clamp(40px,6vw,76px);font-weight:500;line-height:.98}.gallery__intro h2 em{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink-2);font-style:italic;font-weight:400}.gallery__intro p{max-width:420px;color:var(--ink-2);margin:0;font-size:15px}.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.card{background:var(--paper-2);transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);border-radius:18px;flex-direction:column;padding:8px;text-decoration:none;display:flex}.card:first-child,.card:nth-child(2n):last-child{grid-column:1/-1}.card:first-child .card__screen,.card:nth-child(2n):last-child .card__screen{aspect-ratio:21/9}.card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px #00000059}.card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card__screen{aspect-ratio:16/10;border-radius:12px;position:relative;overflow:hidden}.card__screen canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.card__info{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:14px 10px 4px;display:grid}.card__num{font-family:var(--font-mono);color:var(--ink-3);padding-top:5px;font-size:11px}.card__text h3{letter-spacing:-.03em;margin:0;font-size:22px;font-weight:600}.card__text p{font-family:var(--font-serif);color:var(--ink-2);margin:2px 0 0;font-size:17px;font-style:italic}.card__dot{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent);border-radius:50%;margin-top:8px}.card__desc{color:var(--ink-2);max-width:52ch;margin:6px 10px 10px 44px;font-size:13px}.gallery__foot{border-top:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);justify-content:space-between;gap:16px;margin-top:40px;padding-top:16px;font-size:11px;display:flex}@media (max-width:820px){.gallery{padding:20px 16px 40px}.gallery__intro{grid-template-columns:1fr;gap:16px;padding:40px 0 28px}.gallery__grid{grid-template-columns:1fr}.gallery__meta span:not(:first-child){display:none}.gallery__foot{flex-direction:column}.card__desc{margin-left:10px}}.inst{--fg:#efece5;--fg-2:#efece599;--fg-3:#efece559;--hair:#efece51f;background:var(--inst-bg);color:var(--fg);animation:inst-in .6s var(--ease-out);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.inst--light{--fg:#151513;--fg-2:#1515139e;--fg-3:#15151361;--hair:#1515131f}@keyframes inst-in{0%{opacity:0;transform:scale(.985)}}.inst__bar{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:14px 20px;display:grid}.inst__back{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:6px 10px 6px 6px;font-size:11px;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.inst__back:hover{color:var(--fg);background:var(--hair)}.inst__title{text-align:center}.inst__title h1{letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:15px;font-weight:600}.inst__title p{font-family:var(--font-serif);color:var(--fg-2);margin:0;font-size:14px;font-style:italic}.inst__tools{justify-self:end;align-items:center;gap:8px;display:flex}.inst__meter{width:72px;height:20px;margin-left:4px}.inst__body{min-height:0;position:relative;overflow:hidden}.inst--embed .inst__back{visibility:hidden}.inst--minimal .inst__title p,.inst--minimal .inst__hints{display:none}.inst--minimal{grid-template-rows:auto 1fr 0}.inst__hints{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);z-index:2;flex-wrap:wrap;justify-content:center;gap:6px 22px;padding:10px 20px 14px;font-size:10.5px;display:flex}.inst__error{color:#ff6b5a;white-space:pre-wrap;padding:24px}.wake{background:color-mix(in srgb, var(--inst-bg) 55%, transparent);-webkit-backdrop-filter:blur(10px);cursor:pointer;z-index:10;transition:opacity .5s var(--ease-out), visibility .5s;place-content:center;justify-items:center;gap:18px;display:grid;position:absolute;inset:0}.wake.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.wake__dot{background:var(--accent);width:56px;height:56px;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent);animation:wake-pulse 2.2s var(--ease-out) infinite;border-radius:50%}@keyframes wake-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent);transform:scale(.94)}60%{transform:scale(1);box-shadow:0 0 0 28px #0000}to{transform:scale(.94);box-shadow:0 0 #0000}}.wake__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);font-size:12px}.wake__label em{color:var(--fg);font-style:normal}@media (max-width:720px){.inst__bar{grid-template-columns:auto 1fr auto;padding:10px 12px}.inst__title p,.inst__back span,.inst__meter{display:none}.inst--embed .inst__back{visibility:hidden}.inst--minimal .inst__title p,.inst--minimal .inst__hints{display:none}.inst--minimal{grid-template-rows:auto 1fr 0}.inst__hints{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.pill{appearance:none;border:1px solid var(--hair,var(--line));font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2,var(--ink-2));cursor:pointer;transition:color .2s, background .2s, border-color .2s, transform .15s var(--ease-spring);background:0 0;border-radius:999px;padding:5px 11px;font-size:10.5px}.pill:hover{color:var(--fg,var(--ink));border-color:var(--fg-3,var(--ink-3))}.pill:active{transform:scale(.95)}.pill.is-on{background:var(--accent);border-color:var(--accent);color:#111}.knob{--knob-color:var(--accent,#ff5a1f);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;display:inline-flex}.knob__face{width:var(--knob-size);height:var(--knob-size);cursor:ns-resize;touch-action:none;transition:transform .2s var(--ease-spring);border-radius:50%;outline:none}.knob__face:focus-visible{box-shadow:0 0 0 2px var(--knob-color)}.knob.is-active .knob__face{transform:scale(1.06)}.knob__face svg{display:block;overflow:visible}.knob__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2,var(--ink-2));white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;min-width:6ch;font-size:10px}.knob.is-active .knob__label{color:var(--knob-color)}.knob__body{fill:color-mix(in srgb, var(--fg,#fff) 6%, transparent);stroke:var(--hair,#ffffff1a)}.knob__track{fill:none;stroke:var(--hair,#ffffff26);stroke-width:2.5px;stroke-linecap:round}.knob__value{fill:none;stroke:var(--knob-color);stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--knob-color) 60%, transparent))}.knob__needle{stroke:var(--fg,#fff);stroke-width:2px;stroke-linecap:round}.knob__dot{fill:var(--knob-color);transition:opacity .12s}.knob__core{fill:var(--knob-color);opacity:.22}.knob__cap{fill:var(--knob-color)}.knob__shadow{fill:#00000047;filter:blur(2px)}.knob__notch{stroke:#ffffffeb;stroke-width:3px;stroke-linecap:round}.knob__ring{fill:none;stroke:var(--knob-color);stroke-width:1px}.knob__sweep{stroke:var(--fg,#fff);stroke-width:1px;opacity:.7}.knob__tip{fill:var(--fg,#fff)}.seg{border:1px solid var(--hair);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{appearance:none;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 10px;font-size:10px;transition:color .2s,background .2s}.seg button:hover{color:var(--fg)}.seg button.is-on{background:var(--fg);color:var(--inst-bg)}
