:root{--mood:.5;--ground-cool:#06080f;--ground-warm:#14090a;--ground:color-mix(in oklab, var(--ground-cool), var(--ground-warm) calc(var(--mood) * 100%));--paper:#f3eee5;--paper-soft:#9c9689;--ink-mood:#ffc247;--ink-shape:#ff5f9e;--ink-space:#4dd6ff;--ink-pulse:#b18cff;--ink-pitch:#5ce6a5;--cap-lit:#4a505d;--cap-mid:#23272f;--cap-dark:#0d0f14;--hairline:#f3eee524;--font-display:"Bodoni Moda", didot, "Bodoni MT", "Hoefler Text", garamond, georgia, serif;--font-mono:"DM Mono", ui-monospace, "SF Mono", menlo, consolas, monospace;--font-prose:system-ui, -apple-system, "Segoe UI", helvetica, arial, sans-serif;--ring:clamp(3px, .55vw, 6px);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background-color:var(--ground);background-image:radial-gradient(120% 90% at 50% 62%, color-mix(in oklab, var(--ground) 78%, var(--paper)) 0%, transparent 62%);color:var(--paper);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;grid-template-rows:auto 1fr;margin:0;padding:0;font-weight:400;line-height:1.5;display:grid;overflow:hidden}body:after{z-index:5;opacity:.09;content:"";pointer-events:none;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:focus-visible{outline:2px solid var(--paper);outline-offset:6px}.masthead{z-index:3;border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1.5rem;padding:clamp(.7rem,1.8vh,1.5rem) clamp(1rem,3vw,2.75rem);display:flex;position:relative}.masthead-mark{flex-wrap:wrap;align-items:baseline;gap:0 .9rem;display:flex}h1{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:clamp(1.9rem,4.4vw,3.4rem);font-weight:500;line-height:1}.masthead-aside{color:var(--paper-soft);letter-spacing:.02em;margin:0;font-size:clamp(.7rem,1.2vw,.85rem);font-style:italic}.guide-open{color:var(--paper-soft);letter-spacing:.22em;text-transform:uppercase;text-underline-offset:.4em;cursor:pointer;background:0 0;border:0;padding:.35rem 0;font-family:inherit;font-size:clamp(.72rem,1.2vw,.8rem);text-decoration:underline 1px;transition:color .16s}.guide-open:hover{color:var(--paper)}main{min-height:0}.instrument{touch-action:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,2.5vh,2rem);height:100%;padding:clamp(1rem,3vh,2.5rem) clamp(.75rem,3vw,2.5rem);display:flex;position:relative;overflow:hidden}.field{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.knobs{z-index:1;grid-template-columns:repeat(2,auto);justify-content:center;place-items:start center;gap:clamp(1rem,3vh,2rem) clamp(1.25rem,4vw,3.5rem);display:grid;position:relative}.knob{--size-cap:min(32vw, 12.5vh, 128px);--gutter:calc(var(--ring) * 2.4);text-align:center;cursor:grab;touch-action:none;user-select:none;width:min(42vw,180px);position:relative}.knob[data-dragging]{cursor:grabbing}.knob:nth-child(5){grid-column:1/-1}.knob-cap{width:var(--size-cap);margin:0 auto calc(var(--gutter) + var(--ring) + 10px);aspect-ratio:1;position:relative}.knob-well{background:radial-gradient(circle closest-side, var(--ink) 0%, transparent 68%);opacity:calc(.06 + var(--v) * .24);pointer-events:none;mix-blend-mode:screen;border-radius:50%;position:absolute;inset:-70%}.knob-arc{inset:calc(var(--gutter) * -1);background:conic-gradient(from 225deg, var(--ink) 0deg calc(var(--v) * 270deg), #f3eee51c calc(var(--v) * 270deg) 270deg, transparent 270deg);mask:radial-gradient(circle closest-side, transparent 0 calc(100% - var(--ring)), #000 calc(100% - var(--ring)));border-radius:50%;position:absolute}.knob-body{background:radial-gradient(circle at 34% 26%, var(--cap-lit) 0%, var(--cap-mid) 46%, var(--cap-dark) 100%);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 1px #f3eee52e,inset 0 -2px 6px #0000008c,0 10px 24px #0000008c}.knob-grip{rotate:calc(-135deg + var(--v) * 270deg);background:repeating-conic-gradient(#f3eee521 0deg 1.5deg,#00000057 1.5deg 3deg);border-radius:50%;position:absolute;inset:0;mask:radial-gradient(circle closest-side,#0000 0 78%,#000 80% 100%)}.knob-face{background:radial-gradient(circle at 36% 28%, #f3eee533 0%, transparent 55%), radial-gradient(circle at 50% 50%, var(--cap-mid) 0%, var(--cap-dark) 100%);border-radius:50%;position:absolute;inset:20%;box-shadow:inset 0 1px 1px #f3eee524,0 1px 3px #0009}.knob-pointer{top:9%;left:calc(50% - .055 * var(--size-cap) / 2);width:calc(.055 * var(--size-cap));background:var(--ink);height:30%;box-shadow:0 0 calc(.09 * var(--size-cap)) var(--ink);transform-origin:50% 136.7%;rotate:calc(-135deg + var(--v) * 270deg);border-radius:999px;position:absolute}.knob:focus-visible{outline:none}.knob:focus-visible .knob-body{outline:2px solid var(--paper);outline-offset:calc(var(--gutter) + var(--ring) + 4px)}.knob-name{letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;margin:0;font-size:clamp(.8rem,1.5vw,1rem);font-weight:500}.knob-poles{width:var(--size-cap);color:var(--paper-soft);letter-spacing:.02em;justify-content:space-between;margin:.35rem auto 0;font-size:clamp(.66rem,1.25vw,.8rem);display:flex}.knob-readout{color:var(--ink);letter-spacing:.01em;text-transform:lowercase;margin:.45rem 0 0;font-size:clamp(.7rem,1.35vw,.88rem);font-style:italic;display:grid}.knob-readout>*{grid-area:1/1}[data-readout-ghost]{visibility:hidden}[data-macro=mood]{--ink:var(--ink-mood)}[data-macro=shape]{--ink:var(--ink-shape)}[data-macro=space]{--ink:var(--ink-space)}[data-macro=pulse]{--ink:var(--ink-pulse)}[data-macro=pitch]{--ink:var(--ink-pitch)}.legend{z-index:1;color:var(--paper-soft);letter-spacing:.16em;text-align:center;text-transform:uppercase;margin:0;font-size:clamp(.66rem,1.2vw,.8rem);position:relative}.veil{z-index:4;background:color-mix(in oklab, var(--ground) 82%, transparent);text-align:center;cursor:pointer;backdrop-filter:blur(7px);flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,3vh,2rem);padding:2rem 1.5rem;display:flex;position:absolute;inset:0;overflow:hidden}.veil-halo{z-index:-1;aspect-ratio:1;background:radial-gradient(circle closest-side, color-mix(in oklab, var(--ink-space) 42%, transparent) 0%, transparent 70%);border-radius:50%;width:min(78vmin,620px);animation:7s ease-in-out infinite breathe;position:absolute}@keyframes breathe{0%,to{opacity:.45;scale:.9}50%{opacity:.9;scale:1.06}}.veil-eyebrow{max-width:18ch;font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.9rem,6.5vw,3.6rem);font-weight:400;line-height:1.05}.veil-start{border:1px solid var(--paper);background:var(--paper);color:var(--ground-cool);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:clamp(.85rem,2vw,1.15rem) clamp(2rem,5.5vw,3.25rem);font-family:inherit;font-size:clamp(.78rem,1.6vw,.95rem);font-weight:500;transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s}.veil-start:hover{transform:translateY(-2px);box-shadow:0 0 34px #f3eee559}.veil-note{max-width:26rem;color:var(--paper-soft);font-family:var(--font-prose);margin:0;font-size:clamp(.82rem,1.7vw,.95rem)}.guide{border:1px solid var(--hairline);background:color-mix(in oklab, var(--ground) 88%, var(--paper));max-width:min(46rem,100vw - 2rem);max-height:86vh;color:var(--paper);border-radius:4px;padding:0;overflow-y:auto;box-shadow:0 40px 90px #000000a6}.guide::backdrop{backdrop-filter:blur(4px);background:#030408b8}.guide-card{padding:clamp(1.25rem,3vw,2.25rem)}.guide-card:focus,.guide-card:focus-visible{outline:none}.guide-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:500;line-height:1.1}.guide-lede{max-width:36rem;color:var(--paper-soft);font-family:var(--font-prose);margin:.6rem 0 0;font-size:clamp(.86rem,1.6vw,.98rem)}.guide-list{border-top:1px solid var(--hairline);margin:clamp(1.1rem,2.5vw,1.6rem) 0 0}.guide-row{border-bottom:1px solid var(--hairline);grid-template-columns:9.5rem 1fr;align-items:baseline;gap:.15rem 1.25rem;padding:.85rem 0;display:grid}.guide-name{letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:clamp(.78rem,1.5vw,.9rem);display:flex}.guide-swatch{background:var(--ink);width:.7rem;height:.7rem;box-shadow:0 0 10px var(--ink);border-radius:50%;flex:none}.guide-detail{flex-direction:column;gap:.15rem;margin:0;display:flex}.guide-range{color:var(--ink);letter-spacing:.02em;font-size:clamp(.72rem,1.4vw,.85rem);font-style:italic}.guide-blurb{color:var(--paper);font-family:var(--font-prose);font-size:clamp(.86rem,1.6vw,.98rem)}.guide-hands{max-width:38rem;color:var(--paper-soft);font-family:var(--font-prose);margin:clamp(1.1rem,2.5vw,1.5rem) 0 0;font-size:clamp(.82rem,1.5vw,.92rem)}.guide-close{border:1px solid var(--paper-soft);color:var(--paper);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;margin-top:clamp(1.1rem,2.5vw,1.5rem);padding:.7rem 1.5rem;font-family:inherit;font-size:clamp(.7rem,1.3vw,.8rem);transition:background-color .16s,color .16s}.guide-close:hover{background:var(--paper);color:var(--ground-cool)}@media (width<34rem){.guide-row{grid-template-columns:1fr;gap:.25rem}}@media (width>=56rem){.guide{max-width:min(66rem,100vw - 3rem)}.guide-card{grid-template:"title list""lede list""hands list"1fr"close list"/minmax(15rem,24rem) 1fr;gap:0 clamp(1.75rem,3.5vw,3rem);display:grid}.guide-title{grid-area:title}.guide-lede{grid-area:lede}.guide-list{grid-area:list;margin-top:0}.guide-row{grid-template-columns:7.25rem 1fr}.guide-hands{grid-area:hands}.guide-close{grid-area:close;place-self:end start}}@media (width>=760px){.knobs{grid-template-columns:repeat(5,auto);gap:clamp(.75rem,2.8vw,3rem)}.knob{--size-cap:min(12.5vw, 30vh, 220px);width:min(16vw,260px)}.knob:nth-child(5){grid-column:auto}}@media (prefers-reduced-motion:reduce){.veil-halo{animation:none}.veil-start,.guide-open,.guide-close{transition:none}}
