/* Shared, bounded homepage selection and the complete app directory. */
.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:1.3rem}
.app-card{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);min-width:0;overflow:hidden;border:1px solid #dce5ef;border-radius:10px;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.app-card:hover{transform:translateY(-4px);border-color:#aabbd2;box-shadow:0 16px 32px #102b5810}
.app-card:focus-within{outline:3px solid #dc1747;outline-offset:4px}
.app-card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:1.5rem 0 1.5rem 1.5rem;min-width:0}
.app-card-heading{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.app-icon{width:48px;height:48px;flex:none;object-fit:contain}
.app-card h2,.app-card h3{margin:0;color:#102b58;font:750 1.12rem/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.03em}
.app-category{margin:.2rem 0 0;color:#536784;font-size:.73rem;line-height:1.5}
.app-summary{margin:0 0 1.1rem;color:#536784;font-size:.88rem;line-height:1.65}
.app-status{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding:.32rem .55rem;border-radius:5px;font-size:.67rem;font-weight:650;line-height:1.4}
.app-status>span{width:6px;height:6px;flex:none;border-radius:50%;background:currentColor}
.app-status-prelaunch{background:#fff5e5;color:#885616}
.app-status-development{background:#edf4ff;color:#1e5489}
.app-status-available{background:#eaf6ef;color:#21663e}
.app-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.1rem;padding-top:.75rem;border-top:1px solid #e2e8f0;width:100%;color:#102b58;font-size:.8rem;font-weight:750}
.app-link::after{content:"";position:absolute;inset:0}
.app-link:focus-visible{outline:none}
.app-cover{display:flex;align-items:center;justify-content:center;min-width:0;margin:1rem;padding:1rem .6rem;border-radius:6px;background:linear-gradient(140deg,#f4f7fb,#edf2f7);pointer-events:none}
.app-cover img{width:100%;height:auto;box-shadow:0 10px 20px #102b5819}
.app-cover-portrait img{max-width:160px}
.app-cover-landscape{padding:.7rem}
.app-cover-landscape img{border-radius:3px}
.app-card[hidden],.catalog-filters[hidden],.catalog-empty[hidden]{display:none}
.catalog-intro{padding-block:2.2rem 3.7rem;background:radial-gradient(ellipse at 85% 20%,#e7effa,transparent 58%),#f5f8fc}
.catalog-back{display:block;width:fit-content;margin-bottom:2.7rem;font-size:.8rem;text-decoration:none;font-weight:650}
.catalog-back:hover{text-decoration:underline}
.catalog-intro h1{margin:1rem 0 1.2rem;color:#102b58;font:800 clamp(2.5rem,4.5vw,3.6rem)/1.08 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.05em}
.catalog-intro p{max-width:39rem;margin:0;color:#536784;font-size:1.08rem;line-height:1.65}
.catalog-collection{padding-block:2.5rem 3.7rem}
.catalog-result-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;font-size:.78rem;color:#63738b}
.catalog-result-row p{margin:0;font-weight:700;color:#102b58}
.catalog-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.6rem}
.catalog-filters>div{flex:1 1 220px}
.catalog-filters label{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:700}
.catalog-filters input,.catalog-filters select{width:100%;min-height:46px;padding:.7rem .8rem;border:1px solid #adbed3;border-radius:5px;background:white;color:#102b58;font:inherit;font-size:.9rem}
.catalog-filters button{min-height:46px;padding:.7rem 1rem;border:1px solid #adbed3;border-radius:5px;background:#f4f7fb;color:#102b58;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.catalog-filters :is(input,select,button):focus-visible{outline:3px solid #dc1747;outline-offset:3px}
.catalog-empty{padding:3rem 1.5rem;text-align:center;background:#f5f8fc;border-radius:8px}
.catalog-empty h2{font:750 1.5rem/1.2 system-ui,sans-serif;letter-spacing:-.03em}
.catalog-empty p{margin-bottom:0;color:#536784}
.catalog-help{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2.7rem 3.7rem;border-top:1px solid #e1e8f1}
.catalog-help h2{margin:.6rem 0;font:750 clamp(1.5rem,2.5vw,2rem)/1.2 system-ui,sans-serif;letter-spacing:-.04em}
.catalog-help p{max-width:40rem;margin:0;color:#536784;font-size:.9rem}
.catalog-help>a{flex:none;min-height:46px;padding:.65rem 1.1rem;border-radius:5px;font-size:.85rem;font-weight:700;text-decoration:none}
.catalog-page .site-nav [aria-current="page"]{text-decoration:underline;text-decoration-color:#dc1747;text-underline-offset:.5em;text-decoration-thickness:2px}
.catalog-page .home-footer-base nav{display:flex;flex-wrap:wrap;gap:1.3rem}
@media(max-width:1100px){.app-card{grid-template-columns:minmax(0,1.6fr) minmax(0,.85fr)}.app-card-copy{padding:1.25rem 0 1.25rem 1.25rem}.app-card-heading{align-items:flex-start;gap:.6rem}.app-icon{width:40px;height:40px}.app-cover{margin:.8rem;padding:.6rem}.app-card h2,.app-card h3{font-size:1rem}}
@media(max-width:740px){.app-grid{grid-template-columns:1fr}.app-card{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.app-cover{padding:1rem;margin:1rem}.catalog-help{align-items:flex-start;flex-direction:column}.catalog-intro{padding-bottom:3rem}}
@media(max-width:400px){.app-card{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.app-cover{margin:.7rem;padding:.4rem}.app-card-copy{padding:1.15rem 0 1.15rem 1rem}.app-icon{width:34px;height:34px}.app-card-heading{gap:.5rem}.app-card h2,.app-card h3{font-size:.98rem}.app-summary{font-size:.8rem}.app-category{font-size:.68rem}.catalog-result-row{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.app-card{transition:none}.app-card:hover{transform:none}}
