:root{--color-navy: #182635;--color-olive: #6B7245;--color-slate: #5C7186;--color-cream: #F2EDE2;--color-ink: #1C1C1C;--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif: "Source Serif 4", ui-serif, Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--color-cream);color:var(--color-ink);font-family:var(--font-ui);line-height:1.55}main{flex:1;width:100%;max-width:64rem;margin:0 auto;padding:2rem 1.25rem 4rem}a{color:var(--color-navy)}h1,h2,h3{font-weight:600;color:var(--color-navy);line-height:1.2}.mono{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em}.serif{font-family:var(--font-serif)}.dim{color:var(--color-slate)}.site-header{display:flex;align-items:center;justify-content:space-between;max-width:64rem;margin:0 auto;width:100%;padding:1.25rem}.wordmark{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:600;font-size:1.05rem;color:var(--color-navy)}.site-header nav a{text-decoration:none;font-family:var(--font-mono);font-size:.8rem;margin-left:1.25rem}.site-footer{border-top:1px solid color-mix(in srgb,var(--color-slate) 30%,transparent);padding:1.5rem 1.25rem 2rem}.site-footer-inner{max-width:64rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:.35rem 2rem;justify-content:space-between}.picker fieldset{border:none;margin:0;padding:0}.picker legend{font-family:var(--font-mono);font-size:.75rem;color:var(--color-slate);padding:0;margin-bottom:.5rem}.picker input[type=radio],.picker input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.size-row{display:flex;gap:.5rem;flex-wrap:wrap}.size-row label{font-family:var(--font-mono);font-size:.85rem;border:1px solid var(--color-slate);padding:.45rem .9rem;cursor:pointer;user-select:none;background:transparent;color:var(--color-ink)}.picker input:checked+label{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-cream)}.picker input:focus-visible+label{outline:2px solid var(--color-olive);outline-offset:2px}.attach{display:flex;align-items:center;gap:.5rem;margin-top:1rem}.attach label{font-size:.9rem;cursor:pointer}.attach label:before{content:"☐ ";font-family:var(--font-mono)}.picker input:checked+label.attach-label:before,.attach input:checked+label:before{content:"☑ "}.buy{display:none;margin-top:1.25rem;padding:.8rem 1.6rem;background:var(--color-navy);color:var(--color-cream);text-decoration:none;font-weight:600;width:fit-content}.buy.unready{background:transparent;color:var(--color-slate);border:1px dashed var(--color-slate);pointer-events:none}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1.25rem;margin-top:2rem}.card{border:1px solid color-mix(in srgb,var(--color-slate) 35%,transparent);padding:1.25rem;text-decoration:none;color:var(--color-ink);display:flex;flex-direction:column;gap:.4rem}.card:hover{border-color:var(--color-navy)}.card .price{font-family:var(--font-mono);font-size:.85rem;color:var(--color-slate)}.chip{display:inline-block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;border:1px dotted var(--color-olive);color:var(--color-olive);padding:.1rem .45rem;width:fit-content}.price-line{font-family:var(--font-mono);font-size:1rem;margin:.5rem 0 1.5rem}.price-line s{color:var(--color-slate)}.glyph{stroke:var(--color-navy);stroke-width:3;fill:none}.glyph .marker{fill:var(--color-navy);stroke:none}
