:root{--bg: #f2f4f3;--bg-elevated: #ffffff;--ink: #1c2422;--ink-soft: #3a4542;--muted: #6b7874;--line: #d7ddda;--accent: #2f5f58;--accent-soft: #e4efec;--shadow: 0 10px 28px rgba(28, 36, 34, .08);--font-display: "Fraunces", Georgia, serif;--font-ui: "Outfit", system-ui, sans-serif;--radius: 16px;--toolbar-h: auto}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100%;color:var(--ink);font-family:var(--font-ui);background:var(--bg);line-height:1.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hero,.toolbar,main,footer{width:min(1200px,calc(100% - 2rem));margin-inline:auto}.hero{padding:clamp(2rem,5vw,3.25rem) 0 1.25rem}.brand{margin:0 0 .55rem;font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:.95}.hero h1{margin:0 0 .65rem;max-width:18ch;font-family:var(--font-display);font-size:clamp(1.35rem,2.8vw,1.9rem);font-weight:500;color:var(--accent)}.lede{margin:0;max-width:42ch;color:var(--ink-soft);font-weight:300;font-size:1.05rem}.toolbar{position:sticky;top:0;z-index:20;padding:.85rem 0 1rem;background:color-mix(in srgb,var(--bg) 92%,white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.search input,.filters select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:999px;padding:.85rem 1.15rem;font:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search input:focus,.filters select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chips{display:flex;gap:.45rem;overflow-x:auto;padding:.85rem 0 .55rem;scrollbar-width:thin}.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink-soft);border-radius:999px;padding:.45rem .9rem;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:end}.filters label{display:grid;gap:.3rem;color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.filters select{min-width:10.5rem;border-radius:12px;padding:.65rem .85rem}.filters label.check{display:inline-flex;align-items:center;gap:.45rem;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink-soft);padding-bottom:.45rem}.stats{margin:0 0 .35rem auto;color:var(--muted);font-size:.9rem;text-transform:none;letter-spacing:0}.count{margin:1rem 0;color:var(--muted);font-size:.95rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 14px 32px #1c24221f}.thumb{aspect-ratio:3 / 4;width:100%;background:#eef1f0;overflow:hidden;display:grid;place-items:center}.thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}.body{padding:.85rem .95rem 1.05rem;display:grid;gap:.3rem}.body h2{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:500;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta{margin:0;color:var(--accent);font-size:.78rem;letter-spacing:.02em}.notes{margin:0;color:var(--muted);font-size:.84rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.more{display:block;margin:1.75rem auto 0;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:999px;padding:.8rem 1.35rem;font:inherit;cursor:pointer}.more:hover{border-color:var(--accent);background:var(--accent-soft)}footer{padding:2.25rem 0 3rem;color:var(--muted);font-size:.88rem}@media(max-width:640px){.filters{display:grid;grid-template-columns:1fr 1fr}.filters label:first-child,.filters label:nth-child(3),.stats{grid-column:1 / -1}.stats{margin:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.body{padding:.7rem}.body h2{font-size:.95rem}.notes{display:none}}
