@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap";:root{--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:14px;--radius-sm:9px;--maxw:1140px;--accent:#0d9488;--accent-strong:#0f766e;--accent-soft:#0d94881f;--accent-ring:#0d948861;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 6px 24px #0f172a1a;--transition:.16s cubic-bezier(.4, 0, .2, 1)}:root,[data-theme=light]{--bg:#f7f6f3;--bg-elev:#fff;--surface:#fff;--surface-2:#f1efe9;--border:#e3e0d8;--border-strong:#d2cec3;--text:#1c1b19;--text-muted:#6b6962;--text-faint:#9a978e;--chip-bg:#f1efe9;--chip-text:#4a483f}[data-theme=dark]{--bg:#14130f;--bg-elev:#1c1b17;--surface:#1c1b17;--surface-2:#232219;--border:#322f27;--border-strong:#423e33;--text:#f3f1ea;--text-muted:#a8a597;--text-faint:#76746a;--chip-bg:#26241c;--chip-text:#c8c5b6;--accent:#2dd4bf;--accent-strong:#5eead4;--accent-soft:#2dd4bf24;--accent-ring:#2dd4bf66;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 30px #00000073}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background var(--transition), color var(--transition);margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app{max-width:var(--maxw);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2.5rem) 4rem}.site-cover{border:1px solid var(--border);aspect-ratio:1600/900;border-radius:16px;margin-bottom:2rem;position:relative;overflow:hidden}.site-cover__bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.site-cover__bg svg{width:100%;height:100%;display:block}.site-header{z-index:2;justify-content:space-between;align-items:flex-end;gap:1.5rem;min-height:100%;padding:clamp(1.25rem,3vw,2.25rem);display:flex;position:relative}.site-cover .site-title{color:#fff}.site-cover .site-tagline{color:#ffffffd1}[data-theme=light] .site-cover .site-title{color:#000}[data-theme=light] .site-cover .site-tagline{color:#000000c7}.site-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:600;line-height:1.05}.site-tagline{color:var(--text-muted);max-width:48ch;margin:.55rem 0 0;font-size:1rem}.layout{grid-template-columns:1fr;align-items:start;gap:1.5rem;display:grid}@media (width>=768px){.layout{grid-template-columns:minmax(0,1fr) clamp(240px,26%,300px)}.content{grid-area:1/1;min-width:0}.sidebar{grid-area:1/2;position:sticky;top:1.5rem}}.sidebar{flex-direction:column;gap:1.25rem;display:flex}.search-bar{align-items:center;display:flex;position:relative}.search-bar svg{width:18px;height:18px;color:var(--text-faint);pointer-events:none;position:absolute;left:1rem}.search-bar input{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition);padding:.85rem 2.6rem .85rem 2.8rem;font-size:1rem}.search-bar input::placeholder{color:var(--text-faint)}.search-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring);outline:none}.search-bar .clear{background:var(--surface-2);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;right:.75rem}.search-bar .clear:hover{color:var(--text)}.sort-control{align-items:center;gap:.6rem;display:flex}.sort-control .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:.8rem;font-weight:600}.sort-select-wrap{flex:1;align-items:center;display:flex;position:relative}.sort-select-wrap select{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;appearance:none;transition:border-color var(--transition), box-shadow var(--transition);padding:.6rem 2.2rem .6rem .85rem;font-size:.9rem}.sort-select-wrap select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring);outline:none}.sort-select-wrap svg{width:16px;height:16px;color:var(--text-faint);pointer-events:none;position:absolute;right:.75rem}.tag-filter{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tag-filter .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-right:.25rem;font-size:.8rem;font-weight:600}.chip{font:inherit;border:1px solid var(--border);background:var(--chip-bg);color:var(--chip-text);cursor:pointer;transition:all var(--transition);white-space:nowrap;border-radius:999px;padding:.32rem .75rem;font-size:.85rem;font-weight:500}.chip:hover{border-color:var(--border-strong)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .chip.active{color:#08110f}.chip .count{opacity:.6;font-variant-numeric:tabular-nums;margin-left:.35rem}.filter-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.text-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.text-btn:hover{text-decoration:underline}.toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.toggle input{accent-color:var(--accent);width:15px;height:15px}.result-count{color:var(--text-faint);margin:0 0 1rem;font-size:.85rem}.group{margin-bottom:2.5rem}.group-heading{font-family:var(--font-display);letter-spacing:-.01em;border-bottom:1px solid var(--border);align-items:baseline;gap:.5rem;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.15rem;font-weight:600;display:flex}.group-heading .count{font-family:var(--font-body);color:var(--text-faint);font-size:.85rem;font-weight:500}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);flex-direction:column;gap:.7rem;padding:1.35rem;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--accent), transparent);opacity:0;height:3px;transition:opacity var(--transition);position:absolute;inset:0 0 auto}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.card:hover:before{opacity:1}.card-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:600;line-height:1.25}.card-desc{color:var(--text-muted);flex:1;margin:0;font-size:.92rem;line-height:1.55}.card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.card-tag{background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;border-radius:6px;padding:.18rem .55rem;font-size:.74rem;font-weight:500}[data-theme=dark] .card-tag{color:var(--accent-strong)}.card-footer{border-top:1px solid var(--border);color:var(--text-faint);justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.7rem;font-size:.8rem;display:flex}.card-footer .open{color:var(--accent);align-items:center;gap:.3rem;font-weight:500;display:inline-flex}.header-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition);border-radius:50%;flex-shrink:0;place-items:center;text-decoration:none;display:grid}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle svg{width:19px;height:19px}.state{text-align:center;color:var(--text-muted);padding:4rem 1rem}.state h2{font-family:var(--font-display);color:var(--text);margin:0 0 .5rem;font-weight:600}@media (width<=540px){.site-header{flex-direction:row}.card-grid{grid-template-columns:1fr}}
