*{box-sizing:border-box}body{margin:0;background:#f6f1e7;color:#35251f;font:16px/1.55 system-ui,-apple-system,sans-serif}a{color:inherit}header,main,footer{max-width:1120px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ddd2c4}.brand{font-weight:800;letter-spacing:3px;text-decoration:none}.back{font-size:14px}h1{font:clamp(32px,5vw,48px)/1.1 Georgia,serif;margin:20px 0 12px}h2{font-size:23px;margin:0}p{color:#66584f}.lead{max-width:650px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.filters a{padding:10px 16px;border:1px solid #c4cec5;border-radius:24px;text-decoration:none;background:#fffdf8}.filters a:hover{background:#dfe8df}label{display:block;font-weight:650;margin-bottom:6px}input{width:100%;max-width:550px;padding:14px;border:1px solid #b4afa4;border-radius:10px;font:inherit;background:#fffdf8}.group{margin:34px 0;scroll-margin-top:20px}.group>p{margin:6px 0 16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.app-card{display:block;background:#fffdf8;border:1px solid #ddd2c4;border-radius:14px;padding:22px;text-decoration:none;transition:border-color .15s}.app-card:hover{border-color:#4e7462}.card-top{display:flex;justify-content:space-between;gap:16px}.app-card p{font-size:14px;margin:12px 0}.app-card small{display:inline-block;background:#e4ece6;color:#365343;border-radius:6px;padding:3px 7px;font-size:12px}a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #37684e;outline-offset:4px}[hidden]{display:none!important}details{border-top:1px solid #ddd2c4;padding:22px 0}summary{cursor:pointer;font-weight:650;padding:8px 0}footer{font-size:13px;color:#66584f;border-top:1px solid #ddd2c4}.footlinks{display:flex;gap:20px;flex-wrap:wrap}#empty{padding:24px;background:white;border-radius:12px}@media(max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){header,main,footer{padding:18px}.grid{grid-template-columns:1fr}.app-card{padding:18px}header{align-items:flex-start}.brand{font-size:14px}}