:root{color-scheme:light;--ink:#202321;--paper:#f5f4ef;--muted:#5b615b;--line:#969b91;--accent:#28533e;--surface:#e8ebe3;--focus:#21573b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,sans-serif}a{color:inherit;text-underline-offset:.25em}button,input,select{font:inherit}button{cursor:pointer}button,input,select{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0}button{padding:.65rem 1rem}button:hover{background:var(--surface)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip{position:absolute;top:0;left:0;padding:1rem;background:var(--paper);transform:translateY(-200%);z-index:10}.skip:focus{transform:none}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 4vw;padding:1.6rem 0;border-bottom:1px solid var(--line);font-size:.8rem}.wordmark{display:flex;align-items:center;gap:1rem;font-size:1.65rem;font-weight:700;letter-spacing:-.08em;text-decoration:none}.wordmark span{font-size:.68rem;letter-spacing:.08em}.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem 4rem;margin:3rem 4vw 4rem}h1,h2{font-weight:400;letter-spacing:-.06em;line-height:.96;margin:0}h1{font-size:clamp(2.5rem,4.7vw,5rem);line-height:1.06;max-width:18ch}.intro>div{align-self:end;padding-bottom:.5rem;font-size:1.05rem}.intro-note{font-size:.75rem;color:var(--muted);margin-top:2rem}.explorer{margin:0 4vw 5rem}.search-line{display:flex;gap:1.5rem;align-items:end;border-top:1px solid var(--ink);padding-top:1.5rem}.search-line label{flex:1;font-size:.72rem;font-weight:700;letter-spacing:.03em}.search-line input{display:block;width:100%;margin-top:.6rem;padding:1rem;font-size:1rem}.search-line button{padding:1rem;white-space:nowrap;font-size:.85rem}.filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.filters label{font-size:.68rem;font-weight:700}.filters select{display:block;width:100%;padding:.75rem .6rem;margin-top:.5rem;font-size:.8rem}.view-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--line)}#result-count{font-size:.8rem;color:var(--muted);margin:0}.view-controls{display:flex;gap:1.2rem}.view-controls>div{display:flex}.view-controls button{padding:.5rem .85rem;font-size:.75rem}.view-controls button+button{border-left:0}.view-controls button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:1.3rem}.preview-link{display:block;position:relative;height:290px;background:var(--surface);overflow:hidden;border:1px solid var(--line)}.preview-link img{display:block;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top}.preview-link[data-mode=mobile] img{width:58%;margin:0 auto;min-height:0}.preview-link:after{content:'Open full preview';position:absolute;right:.6rem;bottom:.6rem;background:var(--paper);color:var(--ink);font-size:.58rem;padding:.4rem .5rem;border:1px solid var(--line)}.card-heading{display:flex;justify-content:space-between;gap:.5rem;align-items:start;margin-top:1rem}.card h2{font-size:1.5rem;line-height:1.1;letter-spacing:-.04em}.family{font-size:.58rem;text-transform:uppercase;letter-spacing:.07em;padding:.25rem .4rem;border:1px solid var(--line)}.summary{font-size:.85rem;color:var(--muted);min-height:4em;margin:1rem 0}.card-links{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem}.card details{margin-top:1.2rem;font-size:.75rem}.card summary{cursor:pointer;font-weight:700}.card details p{margin:.8rem 0;max-width:55ch}.card details a{display:inline-block;margin:.25rem 1rem .25rem 0}.empty{padding:3.5rem 1rem;text-align:center;border:1px solid var(--line)}.empty-title{font-family:Georgia,serif;font-size:1.5rem;margin:0}#empty-hint{font-size:.85rem;color:var(--muted);margin:1rem 0 1.2rem}.empty-fixes{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.empty-fixes button{font-size:.8rem;text-align:left}.how{background:var(--surface);padding:3rem 4vw;display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem}.how h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.08}.how ol{list-style:none;padding:0;margin:0}.how li{display:flex;gap:1.5rem;border-top:1px solid var(--line);padding:1rem 0;font-size:.85rem}.how>p:last-child{grid-column:2;font-size:.8rem;max-width:55ch}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.5rem 4vw;font-size:.65rem}[hidden]{display:none!important}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.intro{gap:1rem 2rem}.preview-link{height:320px}}@media(max-width:600px){.site-header{margin:0 6vw;padding:1.2rem 0}.wordmark span{font-size:.55rem}.site-header>a:last-child{font-size:.65rem;max-width:100px}.intro{display:block;margin:2rem 6vw 3rem}.intro h1{font-size:clamp(2.5rem,10vw,3.5rem);margin:1.5rem 0}.intro>div{font-size:.95rem}.intro-note{margin-top:1rem}.explorer{margin:0 6vw 3rem}.search-line{gap:.8rem}.search-line input{padding:.8rem;font-size:.85rem}.search-line button{padding:.8rem .6rem;font-size:.72rem}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.filters .filter:last-child:nth-child(odd){grid-column:1/-1}.view-bar{align-items:start;gap:.8rem;flex-wrap:wrap}.view-controls{gap:.7rem}.view-controls button{padding:.5rem .7rem}.cards{grid-template-columns:1fr;gap:2rem}.preview-link{height:320px}.summary{min-height:0}.how{display:block;padding:2rem 6vw}.how h2{font-size:2.5rem;margin:1.5rem 0 2rem}.how>p:last-child{margin-top:2rem}footer{padding:1.5rem 6vw}.family{font-size:.58rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.selection-bar{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.75rem;margin:.3rem 0 1.5rem;color:var(--muted)}.selection-bar p{margin:0}.card-select{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:1.2rem}.card-select label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;cursor:pointer}.card-select input{width:18px;height:18px;accent-color:var(--accent)}.card-select button{font-size:.72rem;padding:.5rem .75rem}.comparison,.handoff{border-top:1px solid var(--ink);padding:2rem 0;margin-top:3rem}.comparison-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.comparison h2,.handoff h2{font-size:2.6rem}.comparison-heading button{font-size:.75rem}.compare-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.compare-card{min-width:0;background:var(--surface);padding:1rem}.compare-card img{display:block;width:100%;height:260px;object-fit:cover;object-position:top;background:var(--paper)}.compare-card h3{font-size:1.2rem;margin:1rem 0}.compare-card p{font-size:.8rem}.compare-card a,.compare-card button{font-size:.7rem}.compare-card button{margin-top:1rem}.handoff{background:var(--surface);padding:2rem}.handoff h2{margin:1rem 0}.handoff>button{background:var(--ink);color:var(--paper);border-color:var(--ink)}#copy-status{font-size:.8rem}#prompt-fallback label{display:block;margin:1rem 0 .5rem;font-size:.8rem}#selection-prompt{box-sizing:border-box;width:100%;font:.8rem/1.5 monospace;padding:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line)}@media(max-width:700px){.selection-bar{align-items:start}.comparison-heading{align-items:start}.comparison h2,.handoff h2{font-size:2.1rem}.comparison-heading button{font-size:.65rem;padding:.5rem}.compare-cards{grid-template-columns:1fr}.compare-card img{height:320px}.handoff{padding:1.5rem}.card-select{gap:.4rem}.card-select button{font-size:.68rem}}

.card-select{flex-wrap:wrap}.card-select .preview-prompt{flex-basis:100%;text-align:left}#prompt-preview{margin-top:1.5rem}#prompt-preview summary{cursor:pointer;font-weight:700}#creation-prompt-text{white-space:pre-wrap;overflow-wrap:anywhere;font:.85rem/1.6 monospace;max-height:32rem;overflow:auto;padding:1rem;background:var(--paper);border:1px solid var(--line)}button:disabled{cursor:wait;opacity:.65}
.card-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.badge-new{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:.25rem .4rem;background:var(--accent);color:var(--paper);border:1px solid var(--accent)}
