:where(.ff-field,.ff-check,.ff-sel){--ff-ease:cubic-bezier(.25, 1, .5, 1)}.ff-field{flex-direction:column;gap:.625rem;min-width:0;display:flex}.ff-label{font-family:var(--ff-mono);font-size:var(--fs-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--text-muted)}.ff-req{color:var(--accent)}.ff-hint{font-family:var(--ff-body);letter-spacing:.02em;color:var(--text-faint);font-size:.75rem}.ff-error{font-family:var(--ff-body);letter-spacing:.02em;color:var(--danger);font-size:.8125rem}.ff-input{background:var(--surface-sunken);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--ff-body);transition:border-color .18s var(--ff-ease), box-shadow .18s var(--ff-ease);border-radius:8px;outline:none;padding:.8125rem .9375rem;font-size:.9375rem}.ff-input::placeholder{color:var(--text-muted)}.ff-input:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, transparent);outline:2px solid var(--accent);outline-offset:2px}.ff-textarea{resize:vertical;min-height:6rem;line-height:1.55}.ff-file{color:var(--text-muted);font-family:var(--ff-body);max-width:100%;font-size:.8125rem}.ff-file::file-selector-button{background:var(--surface-sunken);border:1px solid var(--line);color:var(--text);font-family:var(--ff-mono);font-size:var(--fs-mono);letter-spacing:var(--track-mono);text-transform:uppercase;cursor:pointer;transition:border-color .18s var(--ff-ease), color .18s var(--ff-ease);border-radius:999px;margin-right:.875rem;padding:.5rem 1rem}.ff-file::file-selector-button:hover{border-color:var(--accent);color:var(--accent)}.ff-file-name{font-family:var(--ff-mono);font-size:var(--fs-mono);letter-spacing:var(--track-mono);color:var(--accent);margin-top:.375rem;display:inline-block}.ff-choices{flex-wrap:wrap;gap:.875rem 1.75rem;padding:.25rem 0;display:flex}.ff-check{cursor:pointer;font-family:var(--ff-body);color:var(--text);align-items:center;gap:.6875rem;font-size:.875rem;display:inline-flex}.ff-check input{opacity:0;width:0;height:0;position:absolute}.ff-check__box{border:1px solid var(--line);width:20px;height:20px;transition:border-color .18s var(--ff-ease);border-radius:5px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.ff-check--round .ff-check__box{border-radius:50%}.ff-check__fill{background:var(--accent);opacity:0;-webkit-mask-image:var(--fb-dither);-webkit-mask-image:var(--fb-dither);mask-image:var(--fb-dither);transition:opacity .18s var(--ff-ease), -webkit-mask-position .4s var(--ff-ease), mask-position .4s var(--ff-ease);position:absolute;inset:0;-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ff-check__tick{z-index:1;width:11px;height:11px;stroke:var(--on-accent);stroke-width:2.6px;fill:none;opacity:0;transition:opacity .15s .1s var(--ff-ease);position:relative}.ff-check__dot{z-index:1;background:var(--on-accent);opacity:0;width:8px;height:8px;transition:opacity .15s .1s var(--ff-ease), transform .15s .1s var(--ff-ease);border-radius:50%;position:relative;transform:scale(.5)}.ff-check input:checked+.ff-check__box{border-color:var(--accent)}.ff-check input:checked+.ff-check__box .ff-check__fill{opacity:1;-webkit-mask-position:0 0;mask-position:0 0}.ff-check input:checked+.ff-check__box .ff-check__tick,.ff-check input:checked+.ff-check__box .ff-check__dot{opacity:1;transform:scale(1)}.ff-check input:focus-visible+.ff-check__box{outline:2px solid var(--accent);outline-offset:2px}.ff-sel{width:100%;font-family:var(--ff-body);position:relative}.ff-sel__trigger{background:var(--surface-sunken);border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:border-color .18s var(--ff-ease);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:.8125rem .9375rem;font-family:inherit;font-size:.9375rem;display:flex}.ff-sel__value--empty{color:var(--text-muted)}.ff-sel[data-open=true] .ff-sel__trigger{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.ff-sel__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ff-sel__chev{width:22px;height:22px;color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);transition:transform .22s var(--ff-ease);border-radius:5px;flex:none;place-items:center;display:grid}.ff-sel__chev svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:11px;height:7px}.ff-sel[data-open=true] .ff-sel__chev{transform:rotate(180deg)}.ff-sel__panel{z-index:40;background:var(--surface-raised);border:1px solid var(--line);opacity:0;pointer-events:none;box-shadow:0 16px 34px rgb(var(--c-ink-deep) / .5);-webkit-mask-image:var(--fb-dither-v);-webkit-mask-image:var(--fb-dither-v);mask-image:var(--fb-dither-v);transition:opacity .18s var(--ff-ease), transform .2s var(--ff-ease), -webkit-mask-position .34s var(--ff-ease), mask-position .34s var(--ff-ease);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;transform:translateY(-6px);-webkit-mask-position:0 100%;mask-position:0 100%;-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ff-sel[data-open=true] .ff-sel__panel{opacity:1;pointer-events:auto;transform:none;-webkit-mask-position:0 0;mask-position:0 0}.ff-sel__list{flex-direction:column;max-height:16.5rem;display:flex;position:relative;overflow-y:auto}.ff-sel__cursor{z-index:0;opacity:0;pointer-events:none;background:var(--accent);height:40px;transition:transform .2s var(--ff-ease), height .2s var(--ff-ease), opacity .14s var(--ff-ease);border-radius:7px;position:absolute;top:0;left:0;right:0}.ff-sel__cursor--noanim{transition:none}.ff-sel__opt{text-align:left;width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:.6875rem .8125rem;font-family:inherit;font-size:.875rem;display:flex;position:relative}.ff-sel__opt>span{z-index:1;flex:1;position:relative}.ff-sel__check{z-index:1;fill:none;stroke:currentColor;stroke-width:2px;opacity:0;flex:none;width:13px;height:13px;position:relative}.ff-sel__opt[aria-selected=true]{color:var(--accent)}.ff-sel__opt[aria-selected=true] .ff-sel__check{opacity:1}.ff-sel__opt.is-active{color:var(--on-accent)}.ff-privacy{margin-top:var(--space-pair);color:var(--text-muted)}
