.fn{--fn-radius: 14px;margin:0 0 3rem}.fn__panel{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--fn-radius);box-shadow:var(--shadow-bloom);padding:clamp(1.1rem,3vw,1.9rem)}.fn__controls{display:grid;gap:.8rem;margin-bottom:1.1rem}@media(min-width:620px){.fn__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.fn__field--wide{grid-column:1/-1}}@media(min-width:880px){.fn__controls{grid-template-columns:2fr 1fr .7fr;align-items:end}.fn__field--wide{grid-column:auto}}.fn__go{width:100%;font-size:var(--step-1);padding:1rem}.fn__hint{font-size:var(--step--1);color:var(--ink-faint);margin:.6rem 0 0;text-align:center;max-width:none}.fn__hint[data-error]{color:#a1332f;font-weight:550}.fn__options{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:.6rem}.fn__options>summary{cursor:pointer;font-size:var(--step--1);font-weight:600;color:var(--bloom-deep);padding:.4rem 0;list-style:none}.fn__options>summary::-webkit-details-marker{display:none}.fn__options>summary:before{content:"⌄";display:inline-block;margin-right:.4rem;transition:transform .15s}.fn__options[open]>summary:before{transform:rotate(180deg)}.fn__options-body{padding:.8rem 0 .2rem}.fn__checks{display:grid;gap:.5rem;margin-bottom:1rem}.fn__check{display:flex;align-items:center;gap:.45rem;font-size:var(--step--1);font-weight:500;margin:0;cursor:pointer}.fn__check input{width:auto}.fn__grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.fn__tip{font-size:.76rem;color:var(--ink-faint);margin:.6rem 0 0}.fn__results{margin-top:2.2rem}.fn__results-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}.fn__h{font-family:var(--font-body);font-size:var(--step--1);font-weight:650;color:var(--ink-soft);margin:0}.fn__tools{display:flex;gap:.4rem;flex-wrap:wrap}.fn__list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}@media(min-width:460px){.fn__list{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))}}.fn__card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--fn-radius);padding:.8rem .9rem .65rem;display:flex;flex-direction:column;gap:.45rem;transition:border-color .14s ease,box-shadow .14s ease}.fn__card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-bloom)}.fn__card[data-saved=true]{border-color:var(--stem);background:color-mix(in srgb,var(--stem-mist) 45%,white)}.fn__name{font-family:var(--font-display);font-variation-settings:"WONK" 1,"opsz" 34;font-size:var(--step-1);font-weight:600;line-height:1.15;color:var(--ink);margin:0;max-width:none}.fn__tags{display:flex;flex-wrap:wrap;gap:.28rem}.fn__tag{font-size:.66rem;font-weight:600;padding:.16rem .4rem;border-radius:4px;background:var(--paper-sunk);color:var(--ink-faint)}.fn__tag--f{background:var(--bloom-mist);color:var(--bloom-deep)}.fn__tag--m{background:var(--stem-mist);color:var(--stem)}.fn__actions{display:flex;gap:.3rem;margin-top:auto}.fn__mini{font-size:.72rem;font-weight:600;padding:.32rem .58rem;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer}.fn__mini:hover{background:var(--bloom-mist);color:var(--bloom-deep);border-color:var(--bloom-mist)}.fn__mini[aria-pressed=true]{background:var(--stem);border-color:var(--stem);color:#fff}.fn__ling{margin-top:1.4rem;background:var(--paper-sunk);border-radius:var(--fn-radius);padding:1rem 1.2rem;font-size:var(--step--1);color:var(--ink-soft)}.fn__ling strong{color:var(--ink)}.fn__saved{background:var(--stem-mist);border-radius:var(--fn-radius);padding:1rem 1.1rem;margin-bottom:1.5rem}.fn__saved-h{font-family:var(--font-body);font-size:var(--step--1);font-weight:650;margin:0 0 .6rem;color:var(--stem)}.fn__saved-list{list-style:none;margin:0 0 .7rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.fn__chip{display:inline-flex;align-items:center;background:var(--paper-raised);border:1px solid var(--line);border-radius:100px;padding:.25rem .35rem .25rem .8rem;font-size:var(--step--1);font-weight:600}.fn__chip button{border:0;background:transparent;cursor:pointer;color:var(--ink-faint);font-size:1.05rem;line-height:1;padding:0 .3rem}.fn__empty{background:var(--paper-sunk);border-radius:var(--fn-radius);padding:1.4rem;color:var(--ink-soft);max-width:none}
