:root{--paper:#f6f3ee;--card:#fffdf9;--ink:#2a2826;--muted:#6f6a63;--rule:#e2dcd2;--danger:#a3261c;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--page-max:75rem;--gutter:1rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (min-width:640px){:root{--gutter:2rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);margin:0;font-size:1rem;line-height:1.5}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.button{min-height:2.5rem;font:inherit;color:var(--paper);background:var(--ink);border:1px solid var(--ink);white-space:nowrap;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:0 1.1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:#000}.button:disabled{opacity:.55;cursor:default}.button--quiet{color:var(--ink);border-color:var(--rule);background:0 0}.button--quiet:hover:not(:disabled){background:var(--card);border-color:var(--ink)}.link-button{font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.field input,.field select{height:2.5rem;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:2px;padding:0 .7rem;font-size:16px}.field input[type=color]{width:3.5rem;padding:.2rem}.field__label{color:var(--muted);font-size:.8rem}.form-error{color:var(--danger);font-size:.9rem}.site-header{background:var(--ink);color:var(--paper)}.site-header__inner{max-width:var(--page-max);min-height:4rem;padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.site-header__mark{font-family:var(--font-serif);color:inherit;font-size:1.4rem;text-decoration:none}.site-header__nav{align-items:center;gap:1.25rem;font-size:.9rem;display:flex}.site-header__nav a,.site-header__nav .site-header__signout{color:color-mix(in srgb, var(--paper) 72%, transparent);border-bottom:1px solid #0000;padding:.25rem 0;text-decoration:none}.site-header__nav a:hover,.site-header__nav a[aria-current=page],.site-header__nav .site-header__signout:hover{color:var(--paper);border-bottom-color:currentColor}.site-header__signout{font:inherit;cursor:pointer;background:0 0;border:0}.home{max-width:var(--page-max);padding:clamp(2.5rem, 8vw, 6rem) var(--gutter) 4rem;margin:0 auto}.home__title{max-width:18ch;font-family:var(--font-serif);font-size:clamp(2.25rem,6vw,3.75rem);font-weight:400;line-height:1.05}.home__lede{max-width:42ch;color:var(--muted);margin:1.25rem 0 2rem;font-size:1.1rem}.home__tiles{grid-template-columns:1fr;gap:1rem;margin-top:2.5rem;display:grid}@media (min-width:640px){.home__tiles{grid-template-columns:1fr 1fr}}.tile{color:inherit;background:var(--card);border:1px solid var(--rule);flex-direction:column;gap:.25rem;padding:1.5rem;text-decoration:none;display:flex}.tile:hover{border-color:var(--ink)}.tile__label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.tile__figure{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:3.5rem;line-height:1.1}.tile__meta{color:var(--muted);font-size:.9rem}.home__reset{color:var(--muted);margin-top:2rem;font-size:.85rem}.auth{max-width:26rem;padding:clamp(2.5rem, 8vw, 5rem) var(--gutter) 4rem;margin:0 auto}.auth__title{font-family:var(--font-serif);font-size:2.25rem;font-weight:400;line-height:1.1}.auth__lede{color:var(--muted);margin:.75rem 0 2rem}.auth__error{color:var(--danger);margin-bottom:1rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form .button{width:100%}.auth-form__message{min-height:1.5em;color:var(--muted);font-size:.9rem}.auth-form__switch{color:var(--muted);font-size:.9rem}.auth-form__switch .link-button{color:var(--ink)}.catalog{max-width:var(--page-max);padding:2rem var(--gutter) 4rem;grid-template-columns:minmax(0,1fr);gap:1.75rem;margin:0 auto;display:grid}@media (min-width:900px){.catalog{grid-template-columns:14rem minmax(0,1fr);column-gap:3rem}}.catalog__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:1.25rem;display:flex}.catalog__title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,2.75rem);font-weight:400;line-height:1.1}.catalog__summary{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:.9rem}.catalog__actions{gap:.5rem;display:flex}.catalog__filters{grid-template-columns:minmax(0,1fr);align-content:start;gap:1.75rem;display:grid}@media (min-width:560px) and (max-width:899px){.catalog__filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.catalog__body{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.filter-group{border:0;min-width:0;margin:0;padding:0}.filter-group__head{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.filter-group__title{float:left;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0;font-size:.72rem;font-weight:600}.filter-group__clear{font-size:.8rem}.filter-group__clear[data-hidden=true]{visibility:hidden}.swatches{grid-template-columns:repeat(6,1.75rem);gap:.65rem;display:grid}.swatch{cursor:pointer;outline-offset:4px;border:1px solid #00000026;border-radius:50%;width:1.75rem;height:1.75rem;padding:0;position:relative}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink)}.swatch[aria-pressed=true]:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.35rem;height:.75rem;position:absolute;top:.3rem;left:.58rem;transform:rotate(45deg)}.swatch[data-light=true][aria-pressed=true]:after{border-color:var(--ink)}.checks{flex-direction:column;gap:.4rem;display:flex}.check{text-transform:capitalize;cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.check input{width:1rem;height:1rem;accent-color:var(--ink);margin:0}.chips{flex-wrap:wrap;gap:.35rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.chip{font:inherit;text-transform:capitalize;color:var(--ink);background:var(--card);border:1px solid var(--rule);cursor:pointer;border-radius:2px;padding:.15rem .55rem;font-size:.8rem}.chip:hover{border-color:var(--ink)}.combo{position:relative}.combo__input{width:100%;height:2.5rem;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:2px;padding:0 .7rem;font-size:16px}.combo__list{z-index:10;background:var(--card);border:1px solid var(--ink);max-height:14rem;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000014}.combo__list button{width:100%;font:inherit;text-align:left;text-transform:capitalize;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:.45rem .7rem;font-size:.9rem;display:block}.combo__list button:hover,.combo__list button:focus-visible{background:var(--paper);outline:none}.combo__empty{color:var(--muted);padding:.45rem .7rem;font-size:.9rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(9.5rem,45%),1fr));gap:1.75rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.card{min-width:0}.card__swatch{aspect-ratio:1;border:1px solid #00000014;margin-bottom:.6rem}.card__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.card__meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.thread-swatch{background-image:repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 3px);border-radius:2px}.fabric-swatch{background-position:50%;background-size:cover}.fabric-swatch[data-pattern=stripe]{background-image:repeating-linear-gradient(90deg,#ffffffd9 0 5px,#0000 5px 14px);background-size:auto}.fabric-swatch[data-pattern=print]{background-image:radial-gradient(circle,#00000038 0 3px,#0000 3.5px),radial-gradient(circle,#ffffff73 0 2px,#0000 2.5px);background-position:0 0,9px 9px;background-size:18px 18px,18px 18px}.fabric-swatch[data-pattern=jacquard]{background-image:repeating-linear-gradient(45deg,#ffffff17 0 3px,#0000 3px 11px),repeating-linear-gradient(-45deg,#ffffff17 0 3px,#0000 3px 11px);background-size:auto}.spool-input{align-items:center;gap:.5rem;margin-top:.15rem;display:flex}.spool-input input{width:4.5rem;height:2rem;font:inherit;text-align:center;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:2px;padding:0 .4rem;font-size:16px}.add-form{background:var(--card);border:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:.75rem;padding:1.25rem;display:grid}@media (min-width:720px){.add-form{grid-template-columns:minmax(0,2fr) auto minmax(0,1.2fr) 6rem auto}}.add-form__error{grid-column:1/-1}.empty{color:var(--muted);padding:3rem 0}.pagination{justify-content:center;gap:.25rem;margin-top:1.5rem;display:flex}.pagination button{min-width:2.25rem;height:2.25rem;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;font-size:.9rem}.pagination button:hover:not(:disabled){border-color:var(--rule)}.pagination button[aria-current=page]{border-color:var(--ink)}.pagination button:disabled{color:var(--rule);cursor:default}
