/* FauxApps home. Same look as the FauxCooling and FauxVkDB sites. No external fonts or scripts. */
:root{color-scheme:dark;
--bg:#0B1620;--bg2:#0F1E2B;--card:#13242F;--card2:#192E3C;--line:#26414f;--text:#EAF3F7;--muted:#A3B8C4;--link:#7DD3FC;
--g1:#7DD3FC;--g2:#38BDF8;--g3:#8B5CF6;--grad:linear-gradient(100deg,#7DD3FC,#38BDF8 55%,#8B5CF6);
--shadow:0 8px 28px rgba(0,0,0,.35);--hero-a:rgba(56,189,248,.18);--hero-b:rgba(139,92,246,.20);
--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;--a1:#7DD3FC;--a2:#38BDF8}
@media (prefers-color-scheme:light){:root{color-scheme:light;
--bg:#F2F7FA;--bg2:#E8F0F5;--card:#FFFFFF;--card2:#F4F8FB;--line:#cbdbe4;--text:#0B1620;--muted:#425968;--link:#0A6B8F;
--g1:#0284C7;--g2:#2563EB;--grad:linear-gradient(100deg,#0284C7,#2563EB 55%,#7C3AED);
--shadow:0 6px 22px rgba(20,50,70,.10);--hero-a:rgba(56,189,248,.26);--hero-b:rgba(139,92,246,.16)}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 var(--sans);overflow-wrap:anywhere;min-height:100vh;display:flex;flex-direction:column}
main{flex:1;padding:28px 0 56px}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--g2);outline-offset:2px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
h2{font-size:1.35rem;margin:40px 0 14px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
h2::before{content:"";flex:none;width:5px;height:1.1em;border-radius:3px;background:linear-gradient(var(--g1),var(--g2))}
h3{font-size:1.1rem;margin:0 0 6px}
.sub{color:var(--muted);margin:0 0 20px;font-size:1.05rem;max-width:70ch}
.hero{border-radius:22px;padding:44px 28px 38px;margin-bottom:10px;border:1px solid var(--line);text-align:center;
background:radial-gradient(600px 260px at 10% 0%,var(--hero-a),transparent 70%),radial-gradient(600px 300px at 100% 100%,var(--hero-b),transparent 70%),var(--card)}
.hero img.logo{margin:0 auto 14px;width:84px;height:84px;border-radius:22%;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.hero h1{font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.08;font-weight:800;margin:0 0 14px;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lede{max-width:46ch;font-size:1.15rem;margin:0 auto 24px;opacity:.9}
.discord{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:12px;background:#5865F2;color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;transition:transform .15s,filter .15s}
.discord:hover{transform:translateY(-1px);filter:brightness(1.1)}
.discord img{width:28px;height:28px;border-radius:7px}
.hint{color:var(--muted);font-size:.95rem;margin:12px 0 0}
.appgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.appcard{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:1fr auto;gap:14px 16px;align-items:start;padding:24px 18px 18px;overflow:hidden;
border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s,border-color .15s;
background:radial-gradient(340px 150px at 0 0,color-mix(in srgb,var(--a1) 15%,transparent),transparent 70%),var(--card)}
.appcard::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--a1),var(--a2))}
.appcard:hover,.appcard:focus-within{transform:translateY(-3px);border-color:var(--a1);box-shadow:var(--shadow),0 12px 34px color-mix(in srgb,var(--a1) 26%,transparent)}
.appicon{width:76px;height:76px;border-radius:22%;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.tile{width:76px;height:76px;border-radius:22%;display:grid;place-items:center;font-size:2rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--a1),var(--a2));box-shadow:0 6px 18px rgba(0,0,0,.35)}
.appbody h3{font-size:1.25rem;margin:0 0 4px}.appbody p{margin:0}.appbody p.appon{color:var(--muted);font-size:.92rem;margin-top:6px}
.cardlink{color:var(--text);text-decoration:none}
.cardlink::after{content:"";position:absolute;inset:0}
.cardlink:focus-visible{outline:none}
.appcard:has(.cardlink:focus-visible){outline:3px solid var(--g2);outline-offset:2px}
.appstores{list-style:none;padding:0;grid-column:1/-1;align-self:end;display:flex;flex-wrap:wrap;gap:12px;margin:2px 0 0;position:relative;z-index:1}
.appstores a{display:block;line-height:0;border-radius:9px;transition:transform .15s,filter .15s}.appstores a:hover{transform:translateY(-1px);filter:brightness(1.15)}
.appstores img{height:48px;width:auto;max-width:none;display:block}
.soon{display:inline-block;margin-top:8px;padding:2px 10px;border-radius:999px;border:1px dashed var(--a1);color:var(--muted);font-size:.85rem;font-weight:700}
.soon-grid .appcard{grid-template-rows:auto}
footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 34px;font-size:.95rem;background:var(--bg2)}
footer .wrap{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
footer a{color:var(--muted)}footer a:hover{color:var(--text)}
footer .discord{color:#fff}
@media (prefers-reduced-motion:reduce){.appcard,.appcard:hover,.appstores a:hover,.discord:hover{transform:none;transition:none}}
@media (max-width:480px){.discord{padding:0 14px;font-size:1rem;width:100%}.hero{padding:34px 16px 30px}}

/* Store badge for an app that is not in the store yet: shown, not linked */
.soonbadge{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:4px}
.soonbadge img{opacity:.45;filter:grayscale(1)}
.soonbadge span{font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.02em}

.soonbadge a.notify{font-size:.78rem;font-weight:700;color:var(--link);text-decoration:underline;text-underline-offset:2px}
.lede a{color:inherit;text-decoration:underline}
