:root{
  --bg:#eef2f6; --surface:#ffffff; --ink:#10202b; --muted:#5b6b78;
  --line:#e2e8ef; --accent:#0e7c86; --accent-2:#13a4b0; --accent-soft:#e2f3f4;
  --shadow:0 1px 2px rgba(16,32,43,.06),0 10px 30px rgba(16,32,43,.08);
  --radius:16px;
  --font:'Google Sans','Product Sans',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{
  font-family:var(--font);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1100px 460px at 82% -12%, #dff0f1 0%, transparent 60%),
    radial-gradient(900px 380px at -5% 8%, #e8eef6 0%, transparent 55%),
    var(--bg);
  min-height:100vh;
}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.muted{color:var(--muted)}
mark{background:#fde9a8;color:inherit;border-radius:3px;padding:0 1px}

/* top bar */
.hub-top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.84);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 22px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit}
.brand-dot{width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 0 4px var(--accent-soft)}
.brand-name{font-weight:800;font-size:16px;letter-spacing:.3px}
.brand-div{color:var(--line)}
.brand-sub{font-weight:600;font-size:14px;color:var(--accent)}
.domain-pill{font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:6px 13px;border-radius:999px;box-shadow:var(--shadow);font-weight:600}

/* hero */
.hero{padding:54px 0 18px;text-align:center}
.hero-h{font-size:38px;font-weight:800;letter-spacing:-.8px;margin:0 0 12px}
.hero-p{font-size:16px;color:#33454f;max-width:64ch;margin:0 auto 26px}

.search-bar{position:relative;max-width:620px;margin:0 auto;display:flex;align-items:center}
.search-ic{position:absolute;left:18px;font-size:16px;opacity:.7;pointer-events:none}
#search{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--surface);
  border:1px solid var(--line);border-radius:14px;padding:15px 48px;box-shadow:var(--shadow);transition:.15s}
#search::placeholder{color:#93a2ad}
#search:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow)}
.search-kbd{position:absolute;right:16px;font-size:12px;color:var(--muted);background:#f1f5f8;border:1px solid var(--line);
  border-bottom-width:2px;border-radius:7px;padding:2px 8px;font-family:inherit;font-weight:700}

.filter-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}
.chip-btn{font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);background:var(--surface);
  border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer;transition:.13s}
.chip-btn:hover{color:var(--accent);border-color:var(--accent-2)}
.chip-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}

/* results */
.results{padding:18px 0 10px}
.results-head{display:flex;justify-content:flex-end;align-items:center;min-height:22px;margin-bottom:10px;font-size:13px}
.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}

.app-card{position:relative;display:flex;flex-direction:column;gap:9px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;text-decoration:none;color:inherit;transition:.16s;overflow:hidden}
.app-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--card-accent,var(--accent))}
.app-card.live{cursor:pointer}
.app-card.live:hover{transform:translateY(-4px);border-color:var(--accent-2);box-shadow:0 10px 30px rgba(14,124,134,.18)}
.app-card.planned{opacity:.72;cursor:default}
.app-card.planned::before{background:#c2ccd4}

.ac-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ac-ic{font-size:28px;line-height:1}
.ac-status{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:999px;white-space:nowrap}
.ac-status.live{color:#0a6b4f;background:#dbf3e7}
.ac-status.planned{color:#7e8c97;background:#eef2f5}
.ac-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--card-accent,var(--accent))}
.ac-name{font-size:17.5px;font-weight:800;letter-spacing:-.3px;line-height:1.25}
.ac-tag{font-size:13.5px;color:var(--muted);flex:1}
.ac-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ac-pill{font-size:11px;color:#54636e;background:#f1f5f8;border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.ac-go{font-size:13.5px;font-weight:700;color:var(--card-accent,var(--accent));margin-top:6px}
.ac-go.soon{color:#9aa8b2}

.empty{text-align:center;padding:48px 0;color:var(--muted)}
.empty-ic{font-size:40px;margin-bottom:8px}
.btn{border:0;border-radius:10px;padding:10px 18px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer}
.btn.ghost{background:var(--surface);color:var(--accent);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--accent-2)}

/* footer */
.hub-foot{margin-top:36px;border-top:1px solid var(--line);background:rgba(255,255,255,.5)}
.hub-foot .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:18px;padding-bottom:26px;font-size:12.5px;color:var(--muted)}
.foot-meta{color:#93a2ad}

@media (max-width:560px){
  .hero{padding:34px 0 12px}
  .hero-h{font-size:28px}
  .app-grid{grid-template-columns:1fr}
}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
