.workshop{grid-template-rows:auto auto auto 1fr;height:100vh;display:grid}.workshop__top{padding:calc(var(--baseline) * 2) calc(var(--baseline) * 5);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;display:flex}.workshop__brand{letter-spacing:-.05em;text-transform:lowercase;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,system-ui,sans-serif;font-size:.95rem;font-weight:900;text-decoration:none;transition:opacity .2s}.workshop__brand:hover{opacity:.6}.workshop__wordmark{padding:calc(var(--baseline) * 1.5) calc(var(--baseline) * 5);border-bottom:1px solid var(--hairline);font-family:var(--face-display);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;align-items:baseline;font-size:clamp(28px,3.4vw,44px);line-height:1;text-decoration:none;display:inline-flex}.workshop__wordmark-prefix{color:var(--ink);font-weight:500}.workshop__wordmark-suffix{color:var(--accent);font-style:italic;font-weight:800}.workshop__nav{font-size:var(--size-mono-meta)}.workshop__back{color:var(--whisper);letter-spacing:.04em;text-decoration:none;transition:color .2s}.workshop__back:hover{color:var(--ink)}.composer{gap:calc(var(--baseline) * 4);padding:calc(var(--baseline) * 4) calc(var(--baseline) * 5);border-bottom:1px solid var(--hairline);grid-template-columns:minmax(220px,22%) 1fr minmax(280px,28%);align-items:stretch;display:grid}.composer__slot{padding:calc(var(--baseline) * 2.5) calc(var(--baseline) * 3);border:1px dashed var(--hairline);border-radius:var(--radius);gap:calc(var(--baseline) * .5);cursor:default;flex-direction:column;justify-content:center;transition:border-color .2s,background-color .2s;display:flex;position:relative}.composer__slot--drop-target{border-color:var(--accent);background:#0d3d0d0a;border-style:solid}.composer__slot--locked{border-style:solid;border-color:var(--ink)}.composer__slot--prefix .composer__slot-label,.composer__slot--suffix .composer__slot-label{top:calc(var(--baseline) * .75);font-size:var(--size-mono-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper);position:absolute}.composer__slot--prefix .composer__slot-label{left:calc(var(--baseline) * 1.5)}.composer__slot--suffix .composer__slot-label{right:calc(var(--baseline) * 1.5)}.composer__slot--prefix{text-align:left}.composer__slot--suffix{text-align:right}.composer__slot-form{font-family:var(--face-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(28px,3.6vw,44px);font-weight:500;line-height:1}.composer__slot-form[data-empty]{color:var(--whisper);font-style:italic;font-weight:400}.composer__slot:not([data-locked]),.composer__slot:not([data-locked]) .composer__slot-form{cursor:text}.composer__slot:not([data-locked]):hover .composer__slot-form[data-empty]{color:var(--settled)}.composer__slot[data-typed=true]{border-color:var(--accent);border-style:dashed}.composer__slot[data-typed=true] .composer__slot-gloss{color:var(--accent);opacity:.75}.composer__slot-input{font-family:var(--face-display);letter-spacing:-.02em;color:var(--ink);width:100%;caret-color:var(--accent);background:0 0;border:none;outline:none;padding:0;font-size:clamp(28px,3.6vw,44px);font-weight:500;line-height:1}.composer__slot--prefix .composer__slot-input{text-align:left}.composer__slot--suffix .composer__slot-input{text-align:right}.composer__slot-input::placeholder{color:var(--whisper);font-style:italic;font-weight:400}.composer__slot--prefix .composer__slot-form:after{content:"—";opacity:.4;margin-left:.05em}.composer__slot--suffix .composer__slot-form:before{content:"—";opacity:.4;margin-right:.05em}.composer__slot[data-empty-state] .composer__slot-form:after,.composer__slot[data-empty-state] .composer__slot-form:before{display:none}.composer__slot-gloss{font-size:var(--size-mono-meta);color:var(--whisper);letter-spacing:.04em;min-height:14px;font-style:italic}.composer__slot-clear{top:calc(var(--baseline));color:var(--whisper);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1;transition:color .2s;position:absolute}.composer__slot--prefix .composer__slot-clear{right:calc(var(--baseline) * 5)}.composer__slot--suffix .composer__slot-clear{left:calc(var(--baseline) * 5)}.composer__slot-clear:hover{color:var(--accent)}.composer__slot-lock{bottom:calc(var(--baseline));border:1px solid var(--hairline);border-radius:var(--radius);color:var(--whisper);cursor:pointer;background:0 0;padding:6px 8px;line-height:0;transition:color .2s,border-color .2s,background-color .2s;position:absolute}.composer__slot--prefix .composer__slot-lock{right:calc(var(--baseline) * 1.5)}.composer__slot--suffix .composer__slot-lock{left:calc(var(--baseline) * 1.5)}.composer__slot-lock:hover{color:var(--ink);border-color:var(--ink)}.composer__slot-lock-icon{width:14px;height:16px;display:block}.composer__slot-lock-icon--closed{display:none}.composer__slot[data-locked=true]{border-color:var(--accent);background:#0d3d0d0a;border-style:solid}.composer__slot[data-locked=true] .composer__slot-lock{color:var(--accent);border-color:var(--accent);background:#0d3d0d0f}.composer__slot[data-locked=true] .composer__slot-lock:hover{background:#0d3d0d1f}.composer__slot[data-locked=true] .composer__slot-lock-icon--open{display:none}.composer__slot[data-locked=true] .composer__slot-lock-icon--closed{display:block}.composer__slot[data-empty-state] .composer__slot-lock{opacity:.3;pointer-events:none}.composer__actions{gap:calc(var(--baseline));flex-direction:column;place-self:center;align-items:stretch;width:180px;display:flex}.composer__shuffle{justify-content:center;align-items:center;gap:calc(var(--baseline));padding:calc(var(--baseline) * 1.5) calc(var(--baseline) * 3);border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;font-family:var(--face-mono);font-size:var(--size-mono-body);letter-spacing:.08em;text-transform:uppercase;transition:background-color .2s,color .2s,transform .1s,border-color .2s;display:flex}.composer__shuffle--secondary{color:var(--ink);background:0 0}.composer__shuffle--secondary:hover,.composer__shuffle--primary{background:var(--ink);color:var(--paper)}.composer__shuffle--primary:hover{background:var(--accent);border-color:var(--accent)}.composer__shuffle:active{transform:scale(.98)}.composer__shuffle-label{font-weight:500}.composer__shuffle-icon{opacity:.7;font-size:16px}.workshop__main{grid-template-columns:minmax(220px,22%) 1fr minmax(280px,28%);height:100%;display:grid;overflow:hidden}.library{border-right:1px solid var(--hairline);flex-direction:column;display:flex;overflow:hidden}.library__mode{border-bottom:1px solid var(--hairline);flex-shrink:0;display:flex}.library__mode-pill{font-family:var(--face-mono);font-size:var(--size-mono-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--whisper);cursor:pointer;border:none;border-right:1px solid var(--hairline);background:0 0;flex:1;height:44px;padding:0;transition:color .15s,background-color .15s}.library__mode-pill:last-child{border-right:none}.library__mode-pill:hover{color:var(--ink);background:#0a0a0a08}.library__mode-pill--active{color:var(--ink);background:#0a0a0a0a;font-weight:500}.library__columns{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.library__section{flex-direction:column;min-width:0;display:flex;overflow:hidden}.library__section:first-child{border-right:1px solid var(--hairline)}.library__section-head{font-size:var(--size-mono-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper);padding:calc(var(--baseline) * 2) calc(var(--baseline) * 2) calc(var(--baseline)) calc(var(--baseline) * 2);border-bottom:1px solid var(--hairline);flex-shrink:0}.library__list{scrollbar-width:thin;scrollbar-color:var(--hairline) transparent;padding:calc(var(--baseline)) 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.morph{padding:calc(var(--baseline) * .75) calc(var(--baseline) * 2);cursor:grab;border-left:2px solid #0000;flex-direction:column;gap:2px;min-width:0;transition:background-color .15s,transform .15s;display:flex}.morph:hover{border-left-color:var(--ink);background:#0a0a0a08}.morph:active{cursor:grabbing}.morph[data-dragging=true]{opacity:.4}.morph[data-selected=true]{border-left-color:var(--ink);background:#0a0a0a08}.morph__form{font-family:var(--face-display);color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.1}.morph[data-side=prefix] .morph__form:after{content:"—";opacity:.3;margin-left:.05em}.morph[data-side=suffix] .morph__form:before{content:"—";opacity:.3;margin-right:.05em}.morph__meta{gap:calc(var(--baseline) * .5);font-family:var(--face-mono);color:var(--whisper);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;align-items:baseline;font-size:9px;font-style:italic;display:flex;overflow:hidden}.morph__lang{letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-style:normal}.morph__gloss{text-overflow:ellipsis;min-width:0;overflow:hidden}.candidates{flex-direction:column;display:flex;overflow:hidden}.candidates__head{height:44px;padding:0 calc(var(--baseline) * 4);border-bottom:1px solid var(--hairline);font-size:var(--size-mono-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper);justify-content:space-between;align-items:center;display:flex}.candidates__count{font-feature-settings:"tnum";color:var(--ink);font-weight:500}.candidates__list{padding:calc(var(--baseline) * 2) calc(var(--baseline) * 4);gap:calc(var(--baseline));flex-direction:column;flex:1;display:flex;overflow-y:auto}.jobs{padding:calc(var(--baseline) * 4) calc(var(--baseline) * 4) calc(var(--baseline) * 2);gap:calc(var(--baseline) * 2);text-align:center;border-bottom:1px solid var(--hairline);flex-direction:column;align-items:center;display:flex}.jobs[hidden]{display:none}.jobs__head{font-size:var(--size-mono-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper)}.jobs__list{gap:calc(var(--baseline));flex-wrap:wrap;justify-content:center;max-width:480px;display:flex}.jobs__pill{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);font-family:var(--face-mono);font-size:var(--size-mono-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:calc(var(--baseline) * 1.25) calc(var(--baseline) * 2.5);cursor:pointer;font-weight:500;transition:border-color .2s,background-color .2s,color .2s}.jobs__pill:hover{border-color:var(--accent);color:var(--accent)}.jobs__pill:active{background:var(--accent);color:var(--paper)}.jobs__hint{font-size:var(--size-mono-meta);color:var(--whisper);letter-spacing:.04em;font-style:italic}.jobs__hint-key{color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius);letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;font-style:normal;font-weight:500;display:inline-block}.candidates__empty{text-align:center;padding:calc(var(--baseline) * 8) calc(var(--baseline) * 4);color:var(--whisper);font-style:italic;line-height:1.8}.candidates__empty-key{color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;font-style:normal;font-weight:500;display:inline-block}.candidate{align-items:baseline;gap:calc(var(--baseline) * 2);padding:calc(var(--baseline) * 1.5) calc(var(--baseline) * 2);cursor:grab;border-left:2px solid #0000;grid-template-columns:24px 1fr auto auto;transition:background-color .15s,border-left-color .15s;display:grid}.candidate__score{font-size:var(--size-mono-meta);color:var(--whisper);font-feature-settings:"tnum";letter-spacing:0;font-weight:500}.candidate--selected .candidate__score{color:var(--accent)}.candidate:active{cursor:grabbing}.candidate[data-dragging=true]{opacity:.4}.candidate:hover{border-left-color:var(--ink);background:#0a0a0a08}.candidate--selected{border-left-color:var(--accent);background:#0d3d0d0a}.candidate__index{font-family:var(--face-mono);color:var(--whisper);letter-spacing:.04em;font-feature-settings:"tnum";font-size:11px}.candidate__word{font-family:var(--face-display);color:var(--ink);letter-spacing:-.015em;font-size:clamp(22px,2.4vw,32px);font-weight:500}.candidate__breakdown{font-family:var(--face-mono);color:var(--whisper);letter-spacing:.04em;font-size:10px;font-style:italic}.candidate--shuffle-in{animation:.36s cubic-bezier(.16,1,.3,1) backwards candidate-pop}@keyframes candidate-pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gallery{border-left:1px solid var(--hairline);flex-direction:column;display:flex;overflow:hidden}.gallery__head{height:44px;padding:0 calc(var(--baseline) * 3);border-bottom:1px solid var(--hairline);font-size:var(--size-mono-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper);justify-content:space-between;align-items:center;display:flex}.gallery__hint{text-transform:lowercase;letter-spacing:.04em;color:var(--whisper);font-style:italic}.gallery__definition{border-bottom:1px solid var(--hairline);padding:calc(var(--baseline) * 2) calc(var(--baseline) * 3);gap:calc(var(--baseline));flex-direction:column;display:flex}.gallery__definition[hidden]{display:none}.definition__head{font-size:var(--size-mono-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper);justify-content:space-between;display:flex}.definition__score{color:var(--ink);font-feature-settings:"tnum";letter-spacing:0;text-transform:none;font-weight:500}.definition__field{border:1px solid var(--hairline);border-radius:var(--radius);width:100%;padding:calc(var(--baseline)) calc(var(--baseline) * 1.5);font-family:var(--face-display);color:var(--ink);resize:vertical;background:0 0;min-height:48px;font-size:14px;font-style:italic;line-height:1.5;transition:border-color .2s}.definition__field:focus{border-color:var(--ink);outline:none}.definition__field--locked{border-color:var(--accent);background:#0d3d0d08;font-style:normal;font-weight:500}.definition__lock{border:1px solid var(--hairline);border-radius:var(--radius);font-family:var(--face-mono);font-size:var(--size-mono-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--whisper);padding:calc(var(--baseline) * .75) calc(var(--baseline) * 2);cursor:pointer;background:0 0;align-self:flex-end;transition:color .2s,border-color .2s}.definition__lock:hover{color:var(--ink);border-color:var(--ink)}.definition__lock--locked{color:var(--accent);border-color:var(--accent)}.gallery__rows{flex-direction:column;flex:1;display:flex;overflow-y:auto}.gallery__row{padding:calc(var(--baseline) * 2) calc(var(--baseline) * 3);border-bottom:1px solid var(--hairline);gap:calc(var(--baseline));flex-direction:column;display:flex}.gallery__row:last-child{border-bottom:none}.gallery__face-label{font-size:var(--size-mono-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper)}.gallery__word{letter-spacing:-.02em;color:var(--ink);font-size:clamp(28px,3vw,40px);line-height:1.1}.gallery__word--fraunces{font-family:Fraunces,serif;font-weight:500}.gallery__word--cormorant{font-family:Cormorant Garamond,serif;font-weight:600}.gallery__word--dm-serif{font-family:DM Serif Display,serif;font-weight:400}.gallery__word--inter{letter-spacing:-.03em;font-family:Inter,system-ui,sans-serif;font-weight:700}.gallery__word--space-grotesk{letter-spacing:-.02em;font-family:Space Grotesk,system-ui,sans-serif;font-weight:500}.gallery__word--jetbrains{letter-spacing:-.01em;font-family:JetBrains Mono,monospace;font-size:clamp(22px,2.4vw,30px);font-weight:500}
