:root{color-scheme:light;--bg:#fff;--ink:#101114;--muted:#555b63;--line:#dfe3e8;--blue:#00aeef}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#111215;--ink:#f8f9fa;--muted:#b2b8bf;--line:#34373c}}
html[data-theme="light"]{color-scheme:light;--bg:#fff;--ink:#101114;--muted:#555b63;--line:#dfe3e8}
html[data-theme="dark"]{color-scheme:dark;--bg:#111215;--ink:#f8f9fa;--muted:#b2b8bf;--line:#34373c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;transition:background-color .2s,color .2s}button{font:inherit}.page{width:min(1160px,calc(100% - 64px));margin:auto}.site-header{min-height:110px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:block;width:128px;line-height:0}.brand picture,.brand img{display:block;width:100%;height:auto}.brand:focus-visible,.theme-toggle:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.theme-toggle{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);padding:9px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;font-size:.875rem;min-height:44px}.theme-toggle:hover{border-color:var(--blue)}.theme-icon{font-size:1.2rem;line-height:1}.intro{text-align:center;padding:clamp(65px,10vw,140px) 0 clamp(90px,13vw,170px)}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.78rem;font-weight:700;color:var(--blue);margin:0 0 25px}.intro h1{font-size:clamp(2.75rem,7.2vw,6.65rem);line-height:1.04;letter-spacing:-.065em;font-weight:700;margin:0;white-space:normal}.tagline{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(1.12rem,2vw,1.5rem);color:var(--muted);max-width:640px;margin:30px auto 0}.apps{padding-bottom:clamp(68px,9vw,110px)}.section-heading{display:flex;align-items:center;gap:28px;margin-bottom:38px}.section-heading h2{font-size:.875rem;letter-spacing:.19em;white-space:nowrap;margin:0}.heading-rule{height:1px;background:var(--line);flex:1}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.app-card{border-top:2px solid var(--ink);padding-top:29px}.app-icon{display:block;width:min(100%,230px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:23%;margin:0 0 30px}.app-copy h3{font-size:1.5rem;letter-spacing:-.035em;line-height:1.2;margin:0 0 12px}.app-copy p{font-size:1rem;color:var(--muted);margin:0 0 22px;max-width:30ch}.app-status{display:inline-block;font-size:.875rem;font-weight:700;color:var(--muted);padding-bottom:3px}.app-copy a.app-status{text-decoration:none}.app-copy a.app-status:hover{color:var(--ink);border-color:var(--ink)}.site-footer{border-top:1px solid var(--line);padding:30px 0 44px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.875rem}.site-footer div{display:flex;flex-direction:column;gap:4px}.site-footer strong{color:var(--ink);font-weight:600}.site-footer p{margin:0}.site-footer a{color:var(--ink);text-decoration-color:var(--blue);text-underline-offset:4px;overflow-wrap:anywhere}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .brand img{filter:invert(1) hue-rotate(180deg)}}
.app-grid>.app-card:not([data-featured]){display:none}
.categories{padding-bottom:clamp(100px,13vw,170px)}.category-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.category-filters button{min-height:44px;border:1px solid var(--line);border-radius:999px;padding:9px 18px;color:var(--ink);background:transparent;cursor:pointer}.category-filters button:hover,.category-filters button:focus-visible{border-color:var(--blue)}.category-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.category-count{font-size:.875rem;color:var(--muted);margin:0 0 24px}.category-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;list-style:none;padding:0;margin:0}.category-results li{border-top:1px solid var(--line)}.category-item{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:18px;width:100%;min-height:124px;padding:22px 0;color:var(--ink);text-decoration:none}.category-item img{width:72px;height:72px;object-fit:cover;border-radius:22%}.category-item h3{margin:0 0 4px;font-size:1.125rem;line-height:1.3}.category-item p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.45}.category-item .category-action{display:inline-block;color:var(--blue);font-size:.875rem;font-weight:700;margin-top:10px}.category-item:not(a) .category-action{color:var(--muted);font-weight:400}.category-item:is(a):hover h3,.category-item:is(a):focus-visible h3{color:var(--blue)}
a.app-link{color:inherit;text-decoration:none}a.app-link .app-status{color:var(--blue);border-bottom:1px solid var(--blue)}a.app-link:hover .app-status,a.app-link:focus-visible .app-status{color:var(--ink);border-color:var(--ink)}
.app-copy .app-platforms{margin:-8px 0 14px;color:var(--muted);font-size:.8125rem;letter-spacing:.02em}.category-platforms{display:block;color:var(--muted);font-size:.8125rem;margin-top:8px}.category-action{margin-top:8px}
.app-copy .app-languages{max-width:none;margin:-10px 0 14px;color:var(--muted);font-size:.8125rem;line-height:1.45}.category-languages{display:block;color:var(--muted);font-size:.8125rem;line-height:1.45;margin-top:3px}
html[data-theme="dark"] .brand img{filter:invert(1) hue-rotate(180deg)}
@media(max-width:800px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:60px}.intro{padding-top:80px}}
@media(max-width:560px){.page{width:calc(100% - 36px)}.site-header{min-height:82px}.brand{width:94px}.theme-label{display:none}.theme-toggle{width:44px;justify-content:center;padding:0}.intro{padding:78px 0 105px}.intro h1{font-size:clamp(2.8rem,13vw,4.4rem)}.tagline{margin-top:25px}.section-heading{margin-bottom:25px}.app-grid{grid-template-columns:1fr;gap:56px}.app-card{display:grid;grid-template-columns:112px 1fr;gap:20px;padding-top:24px}.app-icon{width:112px;margin:0;border-radius:22%}.app-copy h3{font-size:1.27rem}.app-copy p{font-size:.95rem;margin-bottom:12px}.site-footer{display:block}.site-footer p{margin-top:20px}}
@media(max-width:700px){.category-results{grid-template-columns:1fr}}
@media(max-width:370px){.app-card{grid-template-columns:90px 1fr;gap:15px}.app-icon{width:90px}.intro h1{font-size:2.55rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none}}
