:root{--bg:#fffaf3;--ink:#2b2a33;--muted:#6b6878;--accent:#ff6b4a;--accent2:#2e8b7a;--card:#fff;--line:#f0e6d8}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent2)}main{max-width:960px;margin:auto;padding:1rem 1.1rem 3rem}
.top{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;padding:.8rem 1.1rem;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.logo{font-size:1.25rem;text-decoration:none;color:var(--ink)}.logo b{color:var(--accent)}nav{display:flex;flex-wrap:wrap;gap:.9rem}nav a{text-decoration:none;color:var(--muted);font-size:.95rem}
h1{font-size:clamp(1.8rem,6vw,2.8rem);line-height:1.15;margin:.6rem 0}.hero{padding:2rem 0}.hero h1 span{color:var(--accent)}.lede{font-size:1.1rem;color:var(--muted)}
.btn,button{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:.7rem 1.2rem;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;margin:.2rem 0}.ghost{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.3rem;margin:1rem 0;box-shadow:0 2px 8px #0000000a}
.skill{text-decoration:none;color:var(--ink);transition:transform .15s}.skill:hover{transform:translateY(-3px)}.emoji{font-size:2.4rem}.skill h3{margin:.3rem 0}.count{color:var(--accent);font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:.35rem}.tag{background:#e6f4f1;color:var(--accent2);border-radius:999px;padding:.1rem .65rem;font-size:.8rem;font-weight:600}
.meta,.small,.crumbs{color:var(--muted);font-size:.9rem}.listing h3{margin:0}.filters{display:flex;flex-wrap:wrap;gap:.5rem 1rem;background:#fff;padding:.8rem 1rem;border-radius:14px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-weight:500;width:9rem;vertical-align:top}td,th{padding:.4rem 0;border-bottom:1px solid var(--line);word-break:break-word}
.signup{background:#fff1ea}.nl,.row{display:flex;flex-wrap:wrap;gap:.5rem}input,select{font:inherit;padding:.6rem .8rem;border:1px solid #ddd;border-radius:12px;flex:1 1 200px}
.prog{height:12px;background:var(--line);border-radius:9px;overflow:hidden;margin:1rem 0 .3rem}#bar{height:100%;background:linear-gradient(90deg,var(--accent),#ffb347);width:0}.chk{display:block;padding:.2rem 0}.chk input{flex:none}
footer{text-align:center;padding:2rem 1rem;color:var(--muted);border-top:1px solid var(--line)}[hidden]{display:none!important}
